我有json对象,其中包含一些html字符串。需要创建具有唯一引用变量的多个ng模板。
<div *ngFor="let el of ElementList">
<ng-template #el.id>
<div [innerHtml]="el.html"></div>
</ng-template>
</div>
这是我的元素列表数组
ElementList = [
{id: 'h1', html: '<h1>sample heading</h1>'},
{id: 'h2', html: '<h2>sample heading</h2>'},
{id: 'h3', html: '<h3>sample heading</h3>'},
];
谁能帮我解决这个问题
试试这个:
<div *ngFor="let el of ElementList">
<ng-template [id]="el.id">
<div [innerHtml]="el.html"></div>
</ng-template>
</div>
为什么不使用@ViewChildren。
<div *ngFor="let el of ElementList">
<ng-template #elem>
<div [innerHtml]="el.html"></div>
</ng-template>
</div>
在组件类中,通过 ViewChildren 访问模板引用变量,如下所示
@ViewChildren(TemplateRef) elem : QueryList<TemplateRef<any>>;
现在您可以访问模板,例如
console.log(this.elem.toArray());