Angular *如何使用索引将数组中的每个项绑定到ngModel
==最终更新== 因为我在表单中使用ngModel,所以我必须添加Angular *如何使用索引将数组中的每个项绑定到ngModel,angular,ngfor,Angular,Ngfor,==最终更新== 因为我在表单中使用ngModel,所以我必须添加nameattribue 我的错误是,我使用了与它的名称相同的值 <form #myform="ngForm"> <table> <tr *ngFor="let staff of staffs"> <td><input name="name" [(ngModel)]="staff.name">{{staff.name}}</t
name
attribue
我的错误是,我使用了与它的名称相同的值
<form #myform="ngForm">
<table>
<tr *ngFor="let staff of staffs">
<td><input name="name" [(ngModel)]="staff.name">{{staff.name}}</td>
</tr>
</table>
</form>
在第一个文本字段中键入“aaaaaa”后,它将变为:
aaaaaa; aaaaaa
blank text field; tom
我认为页面最初会显示:
jim; jim
tom; tom
所以,我的问题是,为什么缺少初始值?它应该是
[ngModel]=“…”
{{i+1}}
{{x.Name}
在您的情况下,先生,如果您使用*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>
{{i+1}}
{{x.Name}
或者你能试试这个吗
<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>
{{i+1}}
{{x.Name}
请先检查文档,为什么不直接绑定到x.Name
?@TamasHegedus,这可能不起作用(不完全确定),但我记得有错误消息,[(ngModel)]=“…”
不适用于模板变量,但除此之外,一个很好的建议-绝对值得一试。你使用angular2表格吗?你能提供plunker吗?谢谢@micronyks我不确定他是否想要双向装订。ng车型是否自动双向?我对Angular1不太了解。是的,它默认位于Angular1.x
中,不客气!谢谢你的回答。您能告诉我如何在控制器(component.ts文件)上获得[(ngModel)]=“x.Name”的值吗?添加(ngModelChange)=“methodOnController($event)”
谢谢您的回答。您能告诉我如何在控制器(component.ts文件)上获得[(ngModel)]=“x.Name”的值吗?
jim; jim
tom; tom
<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>
<table>
<tr *ngFor="let x of names;let i = index;">
<td>{{ i+ 1 }}</td>
<td><input [(ngModel)]="x.Name">{{x.Name}}</td>
</tr>
</table>
<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>