L'evento change viene chiamato solo dopo che il focus dell'input è cambiato. Come posso fare in modo che l'evento si attivi ad ogni pressione del tasto?
-- language-all: lang-xml -->
<input type="text" [(ngModel)]="mymodel" (change)="valuechange($event)" />
{{mymodel}}
Il secondo binding cambia ad ogni pressione del tasto btw.
Usare ngModelChange
rompendo la sintassi [(x)]
nei suoi due pezzi, cioè il databinding delle proprietà e il binding degli eventi:
<input type="text" [ngModel]="mymodel" (ngModelChange)="valuechange($event)" />
{{mymodel}}
valuechange(newValue) {
mymodel = newValue;
console.log(newValue)
}
Funziona anche per il tasto backspace.
<input type="text" [ngModel]="mymodel" (keypress)="mymodel=$event.target.value"/>
{{mymodel}}
<input type="text" (keypress)="myMethod(myInput.value)" #myInput />
archivio .ts
myMethod(value:string){
...
...
}