2016-10-16 2 views
0

У меня есть прецедент, в котором обработчик события mouseup прикреплен к документу. Я хотел бы получить модуль, соответствующий целевому элементу события.Найти угловой компонент, соответствующий элементу DOM

Одним из решений является прохождение списка известных (целевых) экземпляров компонента и сравнение целевого элемента с элементом viewContainerRef.element. Другим решением было бы динамическое присоединение слушателя событий mouseup ко всем известным экземплярам компонентов.

Есть ли что-нибудь более чистые умных? Целевые компоненты создаются динамически, поэтому привязка шаблонов отсутствует, и нет прямого отношения между Компонентом, владеющим обработчиком событий mouseup и целевыми компонентами.

ответ

0

Я решил создать сервис, который хранит Наблюдаемый. Каждый «целевой» компонент подписывается на услугу и решает, беспокоит ли оно сообщение (которое несет исходное событие), сравнивающее идентификатор целевого элемента события.