“对等”组件是否可以响应来自另一个“对等”组件的事件

时间:2016-06-23 18:38:09

标签: angular

假设我有三个Angular 2组件:A,B和C. A是B(View)和C​​(Add)的父“容器”。 C可以发出由B捕获并响应的事件 - 或者只能捕获并响应来自C(和B)的事件。

   A
  / \
 B   C   <-- throws event, we want B to respond to the event.

据我所知,事件只能冒泡到父母,A(我已经有了这个工作)。我试图避免将A重新路由回B。

这甚至可能吗?

TIA!

2 个答案:

答案 0 :(得分:0)

有两种方法:

  • 将事件传递给父母,然后传递给孩子(如您所述)
  • 创建组件间通信的服务

选择正确的一个取决于您的具体情况。

答案 1 :(得分:0)

你可以这样做:

  • 创建服务以跨组件共享信息;
  • 使用A作为中间体,@ ViewChild;
  • 使用事件,我更喜欢这个因为解耦代码;
  • 使用observables将事件自动链接到其他组件,我也更喜欢这个;