Подтвердить что ты не робот

Угловой - есть список хостов-событий-событий?

Я использую hostlistener в директиве для обнаружения "размытия" и "keyup" -events. Теперь мне нужно обнаружить изменения во входном элементе, на котором сидит директива. Я старался

@HostListener('change', ['$event'])

но он не срабатывает.

Есть ли "изменение" -event? Я также прочитал, что должен быть "вход" -event, но это тоже не срабатывает.

Итак, мой вопрос: есть ли список доступных событий, которые я могу использовать?

Я искал google:

https://www.google.de/search?q=angular+2+list+of+hostlistener+events

и угловую документацию:

https://angular.io/api/core/HostListener

но ничего не нашел.

4b9b3361

Ответ 1

Открыть схему углового элемента dom https://github.com/angular/angular/blob/master/packages/compiler/src/schema/dom_element_schema_registry.ts#L78

где:

  • (без префикса): свойство - это строка.
  • *: свойство представляет собой событие.
  • ! : свойство является булевым.
  • #: свойство - это число.
  • %: свойство - это объект.

Затем нажмите ctrl+F и напишите *

enter image description here

@HostListener (а также (customEvent)="handler()") также может прослушивать пользовательские события

пример

Ответ 2

Извините, я думаю, вы спрашиваете о списке свойств. Вы можете использовать, например,

@HostListener("focus", ["$event.target"])
  onFocus(target) {
    console.log(target.value)
  }

  @HostListener("blur", ["$event.target"])
  onBlur(target) {
    console.log(target.value)

  }
  @HostListener("input", ["$event.target.value"])
  onInput(value) {
    console.log(value)

  }

Ответ 3

Событие change применяется к выбору.

Если вы попытались с событием input, и он все еще не работает, то ваша директива является проблемой.

Вы импортировали/экспортировали его? У вас есть какие-либо ошибки в консоли? Есть еще одно событие, снятое с вашей директивы?