【发布时间】:2017-07-02 01:29:45
【问题描述】:
如何转换/投影到循环内的插槽中,并使投影的内容能够访问循环变量?
假设我有一个包含以下内容的基本组件
<tr *ngFor="let data of items">
<td>{{data.title}}</td>
<ng-content select="[slot]"></ng-content>
</tr>
还有一个子组件,使用了transclusion slot "slot"
<parent [items]="items">
<ng-container slot>
<td>{{data.category}}</td>
<td>{{data.number}}</td>
</ng-container>
</parent>
我想要生成的 HTML 是
<tr>
<td>{{data.title}}</td>
<td>{{data.category}}</td>
<td>{{data.number}}</td>
</tr>
但实际发生的是子组件中没有定义“数据”,这是有道理的。有什么办法可以让它像这样工作吗?
【问题讨论】:
-
你在哪里调用子组件?
-
@developer033 我在另一个组件中调用子组件。所以
<child-component></child-component>子组件通过 xhr 抓取进入项目的数据并将其传递给父组件,如下所示:{{data.category }} {{data.number}} -
完全正确。我正在尝试获取“数据”-循环变量到子组件中,就像你通常在树枝中一样
-
听起来你想要这个:toddmotto.com/…
-
@RudolfOlah 我看过那个教程。我正在使用多槽嵌入/投影,但这里的问题是我使用的是循环中的槽。
标签: javascript angular ngfor ng-template