将数据从父级传递到Angular中的特定子级

时间:2018-07-04 10:54:44

标签: javascript angular

我有一个父组件,可以通过* 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请求以获取数据。

问题是,如何将数据传递给特定的子组件?

我一直在阅读有关从父级调用子级方法的信息,但我真的不知道如何仅对指定的子级调用。

注意:也许我的父母获取数据并传递给孩子的方法是不正确的,每个孩子都应该获取数据。欢迎对该方法提供任何建议。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

孩子应该自己获取数据。

您似乎只需要item.detail即可获取其他数据。因此,如果您不需要父母的任何帮助,只需让孩子提出http请求即可。

这与separation of concerns有关:在Angular中,您可以通过创建组件来实现此目的,每个组件都有其特定的用途-如果不需要,则不与另一个组件“打扰”。