title: Accessing input field value without ngModel in Angular2/Typescript
body: <p>I'm using Typescript with Angular2, just like in the Angular2 Tour of Heroes tutorial.</p>
  
  <p>I have an input field that I want to attach a <code>change</code> 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 <code>ngModel</code>, as that will override the property before I'm able to retrieve its former value before it was changed.</p>
  
  <p>So I have something like:</p>
  
  <pre><code>&lt;input (change)="handleChange(myObj, $event)" value={{ myObj.myField }}... /&gt;
  </code></pre>
  
  <p>Then in handleChange:</p>
  
  <pre><code>handleChange (obj: MyObjectClass, e: Event) {
    oldValue: number = obj.myField;
    newValue : number = parseInt(e.target.value);
  
    // Do some logic
  
    obj.myField = newValue;
  }
  </code></pre>
  
  <p>While this works fine in code, the Typescript compiler is throwing an error <code>error TS2339: Property 'value' does not exist on type 'EventTarget'.</code> on the line <code>newValue : number = parseInt(e.target.value);</code></p>
  
  <p>Is there a better way of doing this?</p>