【发布时间】:2018-07-04 10:54:44
【问题描述】:
我有一个通过 *ngFor 加载动态子组件的父组件。我的父组件加载数据以渲染子组件。在用户请求后需要额外的数据。
父组件的html:
<panel *ngFor="let item of collection" (selected)="onTogglePanel($event, item)">
<div panel-body>
<item-detail
*ngIf="item.detail; else templateLoading"
[detail]="item.detail"
(eventItemLoad)="getExtraData($event, item.detail)"
></item-detail>
</div>
</panel>
每个子组件都会向父组件发出一个事件,该事件将发出一个 http 请求以获取数据。
问题是,如何将数据传递给特定的子组件?
我一直在阅读有关从父级调用子级方法的信息,但我真的不知道如何仅为指定的子级调用。
注意:也许我的父母获取数据并将其传递给孩子的方法不正确,每个孩子都应该获取数据。欢迎对这种方法提出任何建议。感谢您的帮助。
【问题讨论】:
-
您的 itemDetail 组件可能有一个 eventEmitter,父级订阅该事件并执行逻辑。要知道哪个 itemDetail 发送了请求,您可以在 ngFor 添加一个索引并将其传递给单个 itemDetail
-
感谢您的提示。
标签: javascript angular