2016-07-14 88 views
8

逗人, 關於Web組件進行交互的黃金法則是:Angular2:輸出/輸入對抗事件/ ViewChild - 組件交互

  • 父引用直接孩子
  • 兒童不引用父
  • 父 - >兒童:通過方法調用
  • 子 - >父:通過事件

這patte我們在許多項目中工作過(YUI,JQuery,...) Angular2怎麼樣?

我們應該使用:

或輸入/輸出?

第一選擇看起來很漂亮。 @ angular2 @expert,你怎麼看?

THX所有, 加布裏埃爾

+0

我的個人偏好是輸入/輸出。通過輸入將數據傳遞給孩子,併發送給父母的事件通過輸出進行收聽。 –

回答

0

我認爲服務的方法是最好的,因爲我知道很多人覺得熟悉這個工作,是覺得你是在home.If您正在使用角材料主題的好辦法那麼您不能直接使用@input()@output()和@viewchlid方法進行組件通信。

0

這取決於您的需要。只是要清楚Outputevents是一樣的。所以流動也非常相似:

  • 家長通過Input
  • 兒童傳遞數據給孩子通過OutputEventEmitter

還有第三個選項,您還可以在通訊兩種方式傳遞數據給父從孩子到父母,從父母到孩子,甚至是其他一個組成部分。它正在使用服務注入,其中您的服務將具有Subject,注入此服務的組件可以訂閱或更新主題值。