У меня есть простая директива Angular 2, которая изменяет входное значение текстового поля. Обратите внимание, что я использую подход Model-Driven.Угловая директива ввода 2 Изменение значения управления формы
@Directive({
selector: '[appUpperCase]'
})
export class UpperCaseDirective{
constructor(private el: ElementRef, private control : NgControl) {
}
@HostListener('input',['$event']) onEvent($event){
console.log($event);
let upper = this.el.nativeElement.value.toUpperCase();
this.control.valueAccessor.writeValue(upper);
}
}
Домен обновляется должным образом, однако модель обновляется после каждого нажатия клавиши. Взгляните на plnkr
Awesome! Спасибо за объяснение. –
Как насчет положения символа? Keypress отправляет позицию символа в конец ввода. – Skyler
@silntsod Есть ли у вас какие-либо идеи, как использовать его в форме с шаблоном? с ngModel – Vishal