Ang*_*arM 2 ng-template angular ng-container angular5
我想使用 ng-container 从 ngFor 中调用 ng-template
我的列表是一个数组,并有一个对象列表。对象的一个属性是标题 - 在 ng-template 中可见。
网址:
<ul>
<li *ngFor='let item of list;let i = index'>
<ng-container *ngTemplateOutlet="itemTemplate;context:item"></ng-container>
</li>
</ul>
<ng-template #itemTemplate let-item="item">
<p>{{ item?.title }}</p>
</ng-template>
Run Code Online (Sandbox Code Playgroud)
注意:问题是 let-item 似乎未定义或为空对象。这很奇怪,因为我传入了它。
您对 的使用templateOutletContext略有错误。
您可以使用$implicit上下文的键,然后将其绑定到您的模板,如下所示:
<ul>
<li *ngFor="let item of list">
<ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item }">
</ng-container>
</li>
</ul>
<ng-template #itemTemplate let-item>
<p>{{ item?.title }}</p>
</ng-template>
Run Code Online (Sandbox Code Playgroud)
或使用命名键:
<ul>
<li *ngFor="let item of list">
<ng-container *ngTemplateOutlet="itemTemplate; context: { item: item }">
</ng-container>
</li>
</ul>
<ng-template #itemTemplate let-item="item">
<p>{{ item?.title }}</p>
</ng-template>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5405 次 |
| 最近记录: |