找到与DOM元素对应的angular2 Component

时间:2016-10-16 11:42:44

标签: javascript dom angular event-handling

我有一个用例,其中mouseup事件处理程序附加到文档。我想获得与事件目标元素相对应的模块。

一种解决方案是循环遍历已知(目标)组件实例的列表,并将目标元素与viewContainerRef.element进行比较。另一种解决方案是动态地将mouseup事件监听器附加到所有已知的组件实例。

有什么更干净聪明的事吗?目标组件是动态创建的,因此没有模板绑定,并且拥有mouseup事件处理程序的Component与目标组件之间没有直接关系。

1 个答案:

答案 0 :(得分:0)

我决定创建一个包含Observable的服务。每个"目标"组件订阅该服务并决定它是否关注比较事件目标元素的id的消息(携带源事件)。