Я столкнулся с проблемой, когда у меня есть директива, сидящая на типе ввода = число, с боковыми стрелками для выбора чисел вверх и вниз.
Я использую HostListener, но не могу найти способнацелиться на конкретное событие, когда пользователь нажимает на боковые стрелки.
До сих пор я пытался:
@ HostListener (change '): не работает вообще
@HostListener ('ngModelChange'): вызвать бесконечный цикл, когда пользователь использует клавиатуру после
@ HostListener ('click'): работает только один, но событие не содержит входное значение, так как оноявляется общим событием щелчка.
@ HostListener ('input'): работает только тогда, когда пользователи вводят число с помощью клавиатуры
Кто-нибудь знает официальный способ получения этого события?
@HostListener('input', ['$event'])
onEvent(event) {
this._propagateTouch();
this._propagateChange(event.target.value);
// console.log('input');
}
@HostListener('click', ['$event'])
onChange(event) {
this._propagateTouch();
this._propagateChange(event);
console.log('arrow change');
}
@HostListener('keydown', ['$event'])
handleKeyboardEvent(event) {
this._propagateTouch();
this._propagateChange(event.target.value);
}