具有双向数据绑定的嵌套 ngFor Angular2
Nested ngFor with two-way data binding Angular2
我尝试在带有双向数据绑定的嵌套 ngFor 的帮助下创建一个 table 输入字段。我几乎实现了这个,但是双向数据绑定的东西是错误的,我找不到问题。
所以,这就是我想要的 - 我希望能够输入单词的每个字母。
我有这个 table,我可以输入,但是如果我输入第一个单元格,第二个单元格会出现相同的值,如果我输入第三个,值也会出现在第四和第五个...
而且我不明白为什么,我想问题出在这一行
<input maxlength="1" size='5' name="{{i}}{{j}}" [(ngModel)]="helper[i][j]" [id]="j"/>
你能告诉我,我该如何解决这个问题?
这是我的 plunker,它可以工作,但是有这个错误,我在上面描述过......
My plunker is here
当使用 *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
我尝试在带有双向数据绑定的嵌套 ngFor 的帮助下创建一个 table 输入字段。我几乎实现了这个,但是双向数据绑定的东西是错误的,我找不到问题。
所以,这就是我想要的 - 我希望能够输入单词的每个字母。
我有这个 table,我可以输入,但是如果我输入第一个单元格,第二个单元格会出现相同的值,如果我输入第三个,值也会出现在第四和第五个... 而且我不明白为什么,我想问题出在这一行
<input maxlength="1" size='5' name="{{i}}{{j}}" [(ngModel)]="helper[i][j]" [id]="j"/>
你能告诉我,我该如何解决这个问题? 这是我的 plunker,它可以工作,但是有这个错误,我在上面描述过...... My plunker is here
当使用 *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