我在 PopupComponent 中有 GridComponent 。
我想将“RowSelected”自定义事件发送到PopupComponent 之外的组件。
我目前正在将事件从GridComponent发送到PopupComponent并将其转发到外部。这是一个非常痛苦的方法,因为我计划拥有大量的PopupComponents。
还有其他方法可以进行事件转发吗?
答案 0 :(得分:24)
每当您没有直接的父母→子女关系时,请使用(共享)服务来共享数据和/或发送事件。
在服务内部,使用Subject或Observable来完成此任务。
cookbook有一个如何使用Subject来实现组件之间双向通信的示例。
此SO帖子Delegation: EventEmitter or Observable in Angular2有一个如何使用Observable的示例。