Ich verwende Typescript mit Angular2, genau wie im Angular2 Tour of Heroes Tutorial.Zugriff auf Eingabefeldwert ohne ngModel in Angular2/Typescript
Ich habe ein Eingabefeld, an das ich ein change
Ereignis anhängen möchte, so dass einige benutzerdefinierte Logik ausführen kann, wenn das Feld geändert wird. Ich muss den aktuellen Wert des Felds kennen, um die Logik auszuführen, also möchte ich dieses Feld nicht mit ngModel
binden, da dies die Eigenschaft überschreiben wird, bevor ich den früheren Wert abrufen kann, bevor er geändert wurde.
So habe ich so etwas wie:
<input (change)="handleChange(myObj, $event)" value={{ myObj.myField }}... />
Dann in handleChange:
handleChange (obj: MyObjectClass, e: Event) {
oldValue: number = obj.myField;
newValue : number = parseInt(e.target.value);
// Do some logic
obj.myField = newValue;
}
Während dies in Code funktioniert gut, das Typoskript Compiler wirft einen Fehler error TS2339: Property 'value' does not exist on type 'EventTarget'.
auf der Linie newValue : number = parseInt(e.target.value);
Gibt es einen besseren Weg, dies zu tun?