私は、テキストボックスの入力値を変更する単純な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);
}
}
DOMは正しく更新されますが、モデルは他のキーストロークごとに更新されます。 plnkr
恐ろしい:
ここフォークplunkerです!説明ありがとう。 –
文字の位置はどうですか?キー入力は文字位置を入力の最後に送ります。 – Skyler
@silntsodテンプレートドリブンフォームでどのように使用するのですか? ngModelで – Vishal