我尝试使用嵌套的ngFor和双向数据绑定来创建输入字段表。我几乎实现了这一点,但是双向数据绑定的东西是错误的,我找不到问题。
所以,这就是我想要的 - 我希望能够输入每个字母。
我有这个表,我可以输入,但是如果我输入第一个单元格,则相同的值出现在第二个中,如果我输入第三个,则值也会出现在第4个和第5个... 我无法理解为什么,我想问题就在于这一行
<input maxlength="1" size='5' name="{{i}}{{j}}" [(ngModel)]="helper[i][j]" [id]="j"/>
你能告诉我,我怎么能解决这个问题? 这是我的掠夺者,它有效,但有了这个错误,我上面描述了...... My plunker is here
答案 0 :(得分:1)
使用*ngFor
时,您应该尽量避免直接访问正在迭代的数组,例如使用[(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