我有一个父组件,可以通过* ngFor加载dinamycally子组件。我的父组件加载用于渲染子组件的数据。根据用户要求,还需要额外的数据。
父组件的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请求以获取数据。
问题是,如何将数据传递给特定的子组件?
我一直在阅读有关从父级调用子级方法的信息,但我真的不知道如何仅对指定的子级调用。
注意:也许我的父母获取数据并传递给孩子的方法是不正确的,每个孩子都应该获取数据。欢迎对该方法提供任何建议。感谢您的帮助。
答案 0 :(得分:1)
孩子应该自己获取数据。
您似乎只需要item.detail
即可获取其他数据。因此,如果您不需要父母的任何帮助,只需让孩子提出http请求即可。
这与separation of concerns有关:在Angular中,您可以通过创建组件来实现此目的,每个组件都有其特定的用途-如果不需要,则不与另一个组件“打扰”。