===最后更新==
http://plnkr.co/edit/WKRBB7?p=preview
因为我在表单中使用ngModel,所以我必须添加nameattribue.
而我的错误是我使用了与其名称相同的值.
<form #myform="ngForm">
<table>
<tr *ngFor="let staff of staffs">
<td><input name="name" [(ngModel)]="staff.name">{{staff.name}}</td>
</tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
在我改为下面之后,我的问题得到了解决.
<form #my2form="ngForm">
<table>
<tr *ngFor="let staff of staffs;let i = index">
<td><input name="staff.{{i}}.name" [(ngModel)]="staff.name">{{staff.name}}</td>
</tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
==========
抱歉,我不记得为什么我使用名称[$ index] .Name而不是x.Name.
也许几年前我遇到了一些使用x.Name的错误,然后养成了使用索引的习惯.
- -更新 - - -
我需要一个内联编辑表,双向绑定.
<table>
<tr *ngFor="let x of names">
<td><input [(ngModel)]="x.Name">{{x.Name}}</td>
</tr>
</table>
let names = [
{ Name:'jim'},
{ Name:'tom'}
];
Run Code Online (Sandbox Code Playgroud)
最初页面显示:
blank text field; jim
blank text field; tom
Run Code Online (Sandbox Code Playgroud)
在第一个文本字段中输入'aaaaaa'后,它变为:
aaaaaa; aaaaaa
blank text field; tom
Run Code Online (Sandbox Code Playgroud)
我认为该页面最初会显示:
jim; jim
tom; tom
Run Code Online (Sandbox Code Playgroud)
所以,我的问题究竟是,为什么缺少初始值?
Gün*_*uer 11
它应该是 [ngModel]="..."
<table>
<tr *ngFor="let x of names;let i = index;">
<td>{{ i+ 1 }}</td>
<td><input [(ngModel)]="names[i].Name">{{x.Name}}</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
在你的情况下先生,如果你使用*ngFor for循环,那么我不认为你需要索引.你为什么不用x.Name.这是修改后的代码.
<table>
<tr *ngFor="let x of names;let i = index;">
<td>{{ i+ 1 }}</td>
<td><input [(ngModel)]="x.Name">{{x.Name}}</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
或者你能尝试一下吗?
<table>
<tr *ngFor="let x of names;let i = index;">
<td>{{ i+ 1 }}</td>
<td><input [value]="x.Name" [(ngModel)]="x.Name">{{x.Name}}</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27149 次 |
| 最近记录: |