找到一个DOM元素对应的angular2组件

Find the angular2 Component corresponding to a DOM element

本文关键字:元素 组件 angular2 DOM 一个      更新时间:2023-09-26

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

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

有什么更干净更聪明的办法吗?目标组件是动态创建的,所以没有模板绑定,拥有mouseup事件处理程序的组件和目标组件之间没有直接关系。

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