Прослушивание событий нескольких элементов в Angular 7

#jquery #angular #dom #listener

#jquery — jquery — запрос #угловой #дом #слушатель #jquery #angular #dom #прослушиватель

Вопрос:

Я новичок в Angular, поэтому простите меня, если это просто, но я нигде не могу найти ответ. Я пытаюсь создать прослушиватель onblur для нескольких элементов DOM. Что-то похожее на «включено» jQuery. т.е.

 $('.someclass').on('blur',function(e){
   some action affecting all matching elements.
});  
  

Это просто невозможно с Angular? Должен ли я выполнять вызов функции из каждого отдельного элемента?

Комментарии:

1. для какого элемента вы пытаетесь прослушать onblur?

Ответ №1:

Самый простой способ прикрепить списки событий к элементам — это использовать директивы, с помощью которых вы можете использовать @HostListener и @Hostbinding, поставляемые angular.

Комментарии:

1. Насколько я понимаю, это все еще просто прослушиватель для одного элемента, правильно?

2. На самом деле его можно повторно использовать, например, вы можете прикрепить его в качестве атрибута к нескольким элементам даже на одной странице, и это работает для каждого из них

3. Я понимаю, что это работает для пользовательских компонентов, но при стандартном вводе разве это не было бы похоже на что-то вроде <input (blur)=»функция ($ event)»>? На что я надеялся, так это на способ подключения к группе элементов (или, что еще лучше, к элементу верхнего уровня) и прикрепления прослушивателя к нескольким элементам одновременно.

4. Какие директивы работают очень хорошо, вы действительно можете писать стандартные коды jQuery в директивах