2016-09-22 14 views
2

モデル値を入力タグから変更したいのですが、どうすればよいか分かりません。Angularjs2で入力値を変更したときのモデル値の更新方法

ここに私のコードがあります。

<div *ngFor='let l of list'> 
    <input #temp [value]='l.test' (blur)='l.test=temp.value'/> 
    <span (click)='check(l,temp.value)'></span> 
<div> 

私はblurイベントなしでこれをやりたい

check(l,temp:string) 
{ 
    console.log(l.test); 
    console.log(temp); 
} 

角度コード。 これを行うにはより良い方法を教えてください。

答えて

3

欄に[(ngModel)]を使用すると、フィールドに双方向バインディングができます。入力するとすぐに、特定の要素の値が配列から変更されます。

マークアップ

<div *ngFor='let l of list'> 
    <input [(ngModel)]='l.test'/> 
<div> 

Angular 2 rc-5ので、あなたが使用する方法を知ってthis answerを参照することができ、あなたの@NgModule

import { FormsModule } from '@angular/forms'; 
///..other imports 

@NgModule({ 
    imports:  [ BrowserModule, FormsModule ], //< added FormsModule here 
    declarations: [ AppComponent ], 
    bootstrap: [ AppComponent ] 
}) 

にインポートFormsModuleを持って取り組んでngModel 2ウェイバインディングにします角度2の2方向結合。

Plunkr here

+0

私はこれを試してきたが、それは私が –

+0

エラーをエラーを示しています。それは「入力」の既知のプロパティではありませんので、「ngModel」に結合し-Can't。 –

+0

@PravinTukadiya 'ngModel'ディレクティブを使って双方向バインディング機能を使うには' NgModule'に 'FormsModule'をインポートする必要があります。チェックアウト更新された回答、およびリンクされた回答の両方があなたを助けます.. –

関連する問題