2016-12-15 78 views
0

我有點尷尬地問這個問題,因爲我擔心答案是非常明顯的,但對我來說這是虛幻的。Angular 2將數據從組件B傳遞到組件B定義的模板

我有三個組件A,B & C.這些組件中的每一個都有一個模板。 組件A的模板包含自定義標籤,當然組件B的模板包含自定義標籤。

現在我有一大塊數據需要從組件B流向C,現在如果我從B輸出數據,則數據綁定到組件A模板......或者其他類似的東西。這不會讓C可用,因爲它不共享模板。

看來我需要能夠將數據「輸出」到組件B的B模板上,但這似乎是循環的。我已經看過@ViewChild模板引用變量,但這似乎並沒有工作,使模板B上的數據可見。

顯然有明顯的東西,我錯過了,有什麼想法?

+0

您可以直接在模板中使用組件屬性。如果您聲明'name'並將其設置爲'this.name ='steve'',則可以將其顯示在模板「{{name}}」中,或者將其傳遞給其他組件''。那是你想要的嗎?如果沒有,請提供一些代碼,因爲它不清楚你想要做什麼... – Sasxa

+0

@Sasxa;非常感謝這實際上是完全正確的。現在我可以肯定這是正確的方法,我可以試着找出爲什麼這種方法不適用於我的具體情況。 – Done

+0

@Sasxa;我再次感謝你對這個問題的幫助。如果將來有人會遇到這個問題,我想添加一個結束摘要筆記來關閉任何鬆散的結尾。 – Done

回答

0

回顧...我有三個組件A,B & C.這些組件中的每一個都有一個關聯的模板。組件A的模板包含自定義標記<Bx>,組件Bx的模板包含自定義標記<C>。希望將數據對象從A傳遞給C.此數據對象在組件A的「此」範圍內定義爲「this.data」,因此此數據傳輸的第一步是在組件B中包含@Import() data: Obj,並且然後在A的模板中添加<B [data]="data"></B>。這個@Import語句使得該數據對組件B可用並且然後可以將其放置在組件B的模板上作爲<C [data]="data"></C>

非常感謝@Sasxa的指導,我對敘述方法表示歉意,但它是解釋我的情況和解決方案的最明確方式。

相關問題