私は、Angular2 Tour of Heroesチュートリアルのように、TypescriptをAngular2と一緒に使用しています。Angular2/TypescriptのngModelなしで入力フィールド値にアクセス
change
イベントを添付したい入力フィールドがあり、フィールドが変更されたときにカスタムロジックが実行できるようにしました。私はロジックを実行するためにフィールドの現在の値を知る必要があるので、フィールドを変更する前に元の値を取得できるようになる前にプロパティをオーバーライドするので、そのフィールドをngModel
でバインドする必要はありません。
だから私のようなものがあります:handleChangeに続いて
<input (change)="handleChange(myObj, $event)" value={{ myObj.myField }}... />
を:
handleChange (obj: MyObjectClass, e: Event) {
oldValue: number = obj.myField;
newValue : number = parseInt(e.target.value);
// Do some logic
obj.myField = newValue;
}
これはコードで正常に動作している間、活字体のコンパイラはラインnewValue : number = parseInt(e.target.value);
error TS2339: Property 'value' does not exist on type 'EventTarget'.
を投げています
これを行う良い方法はありますか?