I'm using Typescript with Angular2, just like in the Angular2 Tour of Heroes tutorial.
I have an input field that I want to attach a change
event to, so that some custom logic can perform when the field is changed. I need to know the field's current value to perform the logic, so I don't want to bind that field with ngModel
, as that will override the property before I'm able to retrieve its former value before it was changed.
So I have something like:
<input (change)="handleChange(myObj, $event)" value={{ myObj.myField }}... />
Then in handleChange:
handleChange (obj: MyObjectClass, e: Event) {
oldValue: number = obj.myField;
newValue : number = parseInt(e.target.value);
// Do some logic
obj.myField = newValue;
}
While this works fine in code, the Typescript compiler is throwing an error error TS2339: Property 'value' does not exist on type 'EventTarget'.
on the line newValue : number = parseInt(e.target.value);
Is there a better way of doing this?