Я хочу отформатировать данные (предоставленные пользователем) в свой собственный формат или изменить их на лету (например, установить 0, когда пользователь вводит значение меньше 0 или что-то в этом роде).Я в основном использую решение для реактивных форм, чтобы связать представление с кодом позади.То, что я сделал, перехватил мою привязку между переменной типа FormControl и элементом управления в представлении благодаря директиве.Я хотел бы остановиться на этом, но проблема в том, что директива не является реальным перехватчиком, поскольку событие изменения значения происходит с неправильным значением, а затем форматируется с помощью функции директивы (событие изменения вызывается во второй раз).Вот как я добился этого:
@HostListener("blur", ["$event.target.value"])onBlur(event: any) {
let value = this.transformValue(event);
this.control.setValue(value, { emitEvent: false });
this.el.value = value;
}
Есть ли способ достичь реального поведения перехвата с помощью директив?
РЕДАКТИРОВАТЬ: Я создал простой примермоего дела.Пожалуйста, взгляните.Я хочу добиться только одного (второго) вызова события изменения.
https://stackblitz.com/edit/angular-ctnjup