2017-04-12 78 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