2017-06-26 10 views
0

双方向データバインディングでネストされたngForの助けを借りて入力フィールドのテーブルを作成しようとしました。私はこれをほぼ達成しましたが、双方向のデータバインディングを持つものは間違っていて、問題は見つけられません。だから、双方向データ結合でネストされたngFor Angular2

、これは私が持っていたいものです - 。私は中の単語のそれぞれの文字ができタイプになりたい

My examle table with inputs fieleds

私はこのテーブルを持っている、と私はで入力することですが、もし最初のセルに入力すると、同じ値が2番目に表示されます.3番目に値を入力すると4番目と5番目の値も表示されます... なぜこの列に問題があるのか​​わかりません。

<input maxlength="1" size='5' name="{{i}}{{j}}" [(ngModel)]="helper[i][j]" [id]="j"/> 

私に教えてください、どうすればこの問題を解決できますか? *ngForを使用する場合はここで が My plunker is here

答えて

1

...私は上記のことを、私のplunkerで、それは動作しますが、この間違いで、あなたは直接[(ngModel)]="helper[i][j]"持つようにあなたが反復されている配列を、アクセスしないようにしてください。

一般的に、データバインディングを使用するときは、フルオブジェクトとドット(。)表記で常に動作するようにしてください。

場合によっては、生の配列['','','','','']をオブジェクトの配列[value: '', value: '', value: '', value: '', value: '']で置き換え、直接バインドします。

<td *ngFor="let item2 of helper[i]; let j = index;"> 
    <input maxlength="1" size='5' name="{{i}}{{j}}" [(ngModel)]="item2.value" [id]="j"/> 
</td> 

私はあなたのplunker

更新しました
関連する問題