我有一个GridComponent 在 PopupComponent 中。
我想要发送一个 "RowSelected" 自定义事件到 PopupComponent 外的一个组件。
我目前是从 GridComponent 发送事件到 PopupComponent 然后再转发到外部。但这是一个非常痛苦的方法,因为我计划有大量的 PopupComponents。
是否有其他方法进行事件转发?
我有一个GridComponent 在 PopupComponent 中。
我想要发送一个 "RowSelected" 自定义事件到 PopupComponent 外的一个组件。
我目前是从 GridComponent 发送事件到 PopupComponent 然后再转发到外部。但这是一个非常痛苦的方法,因为我计划有大量的 PopupComponents。
是否有其他方法进行事件转发?
每当您没有直接的父子关系时,请使用(共享)服务来共享数据和/或发送事件。
在服务内部,使用Subject或Observable来实现此功能。
文档中有一个示例,演示了如何使用Subject实现组件之间的双向通信。
这篇SO帖子Delegation: EventEmitter or Observable in Angular2,演示了如何使用Observable。
没有为服务(孙子->服务)提供程序
。 - Luka Šilje