2016-07-14 70 views
8

逗人, 关于Web组件进行交互的黄金法则是:Angular2:输出/输入对抗事件/ ViewChild - 组件交互

  • 父引用直接孩子
  • 儿童不引用父
  • 父 - >儿童:通过方法调用
  • 子 - >父:通过事件

这patte我们在许多项目中工作过(YUI,JQuery,...) Angular2怎么样?

我们应该使用:

或输入/输出?

第一选择看起来很漂亮。 @ angular2 @expert,你怎么看?

THX所有, 加布里埃尔

+0

我的个人偏好是输入/输出。通过输入将数据传递给孩子,并发送给父母的事件通过输出进行收听。 –

回答

0

我认为服务的方法是最好的,因为我知道很多人觉得熟悉这个工作,是觉得你是在home.If您正在使用角材料主题的好办法那么您不能直接使用@input()@output()和@viewchlid方法进行组件通信。

0

这取决于您的需要。只是要清楚Outputevents是一样的。所以流动也非常相似:

  • 家长通过Input
  • 儿童传递数据给孩子通过OutputEventEmitter

还有第三个选项,您还可以在通讯两种方式传递数据给父从孩子到父母,从父母到孩子,甚至是其他一个组成部分。它正在使用服务注入,其中您的服务将具有Subject,注入此服务的组件可以订阅或更新主题值。