Я пытаюсь найти способ динамически создать шаблон в Angular2. Я думал, что templateRef может предоставить способ сделать это. Но я могу ошибаться.
Я нашел пример использования templateRef здесь.
Я смотрел на templateRef в этом примере. Я заметил, что синтаксис [ng-for-template]
Я также пробовал [ngForTemplate]
потому что я знаю, что это недавно изменилось.
Итак, на данный момент у меня есть это:
import {Component, TemplateRef} from 'angular2/core';
@Component({
selector : 'body',
template : '
<template [ngForTemplate]="container">
<div class="container"></div>
</template>
'
})
export class App
{
@ContentChild(TemplateRef) container;
constructor() {}
ngAfterContentInit()
{
console.log(this);
}
}
Этот пример выдает ошибку:
Невозможно связать с ngForTemplate, поскольку это не известное нативное свойство
Итак, во-первых, мне интересно. Как правильно это сделать? Документы не дают никаких примеров.
Во-вторых, есть ли хороший способ добавить новую логику шаблона в свой шаблон или динамически создать шаблон? В структуре приложения может быть очень большое количество различных структурных комбинаций. Поэтому, если возможно, я хотел бы посмотреть, есть ли способ сделать это, не имея огромного шаблона с кучей различных операторов ngIf и ngSwitch..
Мой вопрос действительно первая часть о templateRef. Но любая помощь или предложения по второй части приветствуются.