Angular2:输出/输入与事件/ ViewChild - 组件交互

时间:2016-07-14 16:18:47

标签: angular web-component interaction

逗人, 关于Web组件交互的黄金规则是:

  • 家长引用直接孩子
  • 儿童不参考父母
  • 父母 - >孩子:通过方法调用
  • 儿童 - >家长:通过活动

这个模式在很多项目中都适用于我们(YUI,JQuery,...) 那么Angular2呢?

我们应该使用:

或输入/输出?

首选看起来很漂亮。 @ angular2 @expert,您怎么看?

对所有人来说, 加布里埃尔

2 个答案:

答案 0 :(得分:2)

这取决于您的需要。要明确Outputevents是一样的。所以流程非常相似:

  • 父级通过Input
  • 将数据传递给子级
  • 儿童通过Output
  • EventEmitter将数据传递给父母

还有第三个选项,您可以在这两个选项中从子级到父级,父级到子级或甚至一个组件与其他组件进行通信。它使用服务注入,您的服务将具有Subject,注入此服务的组件可以订阅或更新主题值。

答案 1 :(得分:0)

我认为服务方法是最好的,因为我知道很多人都觉得熟悉这个并且是一种感觉你在家里的好方法。如果你使用的是Angular材料主题,那么就不能直接使用{{1}组件通信的@input()}和@output(方法。