2017-01-23 51 views
2

我見過在工作中下面的代碼段 - http://plnkr.co/edit/5z4VEQ?p=previewAngular2父 - >子 - >父結合

<app-component2 [(value)]="value"></app-component2> 

你可以看到,我們傳遞一個值的子組件,並將其傳遞迴父母更改時(onChange只會在您關注輸入框後纔會觸發)。

現在這個代碼工作即使「valueChange」事件發射器沒有簽約任何地方。它只有在子組件具有事件發射器並且只有當所述事件發射器被稱爲valueChange時纔有效。

有一些明顯的魔術要與角度自動地連接價值和valueChange但我不能在該文檔中發現這一幕後/不知道這是否真的是一個支持的功能?

+0

這是所有在這裏:https://angular.io/docs/ts/latest/cookbook/component-communication.html :) – Alex

+0

你能鏈接到特定的部分?這是一個相當長的文件,但我仔細看過,找不到示例 –

+0

對於輸入(父母對孩子):https://angular.io/docs/ts/latest/cookbook/component-communication.html #!#父母對孩子的輸出(孩子到父母):https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#child-to-parent – Alex

回答

2

你所觀察的行爲是Two way data binding,你可以在Template Synatx Guide.

enter image description here

它在Cheat sheet

enter image description here

希望這有助於還提到閱讀更多關於它在這裏!

+0

是的titleChange綁定是我錯過了。這在https://angular.io/docs/ts/latest/cookbook/component-communication.html(組件通信頁面)中沒有提到,並且對我的口味有點太神奇了(事件發佈者必須命名爲titleChange) 。 但你獲得積分:d –

+0

好吧,我與角度的經驗開始與雙向數據綁定,並且是核心功能角度帶來了我的一個。所以對於很多人來說,雙向綁定是如何工作的,我想這就是爲什麼它可能沒有記錄,但應該是,乾杯! –

+0

我都是兩次數據綁定,但要求你爲它創建一個特殊命名的輸出才能工作,感覺有點奇怪。我已經看到它在Ember中完成(我認爲),這是我不使用Ember的原因之一:D –

相關問題