2017-04-12 67 views
-1

将父组件中的对象数组传递给子组件的最佳方式(子组件将嵌套在父组件中)?在父组件和子组件之间交换数据

将数组传递给子组件后,我必须处理它以提取信息并在视图中显示(因此我必须在显示子组件之前处理收到的数据)。

+0

您是否在文档中阅读过[整页](https://angular.io/docs/ts/latest/cookbook/component-communication.html)或在此查找其他类似问题? – jonrsharpe

+0

为此使用'@ Input'。请记住初始化父数组中的数组(作为空),以便在传递子标记中的数组时不会未定义数组。由于您需要在显示前处理子数组,因此可能需要在视图中使用安全导航运算符。作为一个旁注,总是分享代码来澄清你的问题,能够得到一些体面的答案,以及没有得到一堆downvotes;) – Alex

+0

完美的,它的作品。如果我想传递多个对象? –

回答

0

简单地把它作为一个输入:

<child [data]="myArray"></child> 

子类:

export class ChildComponent { 
    @Input() data: any[]; 
} 

这将让你通过this.data访问数据的ChildComponent。要对数据的更改作出反应,您可以使用ngOnChanges或使用setget方法。

+0

我已经这样做了,但是在“日期:任何[]”我无法访问的“ChildComponent”里面“ –

+0

如果我尝试访问应用程序崩溃 –

+0

@MaurizioRizzo因为它是'data',而不是'date'就像你说的。 – Chrillewoodz