* ngFor comment lier chaque élément du tableau à ngModel en utilisant index
===finale mise à jour==
http://plnkr.co/edit/WKRBB7?p=preview
depuis que j'utilise ngModel dans une forme, je dois ajouter name
attribut n'.
et mon erreur est que j'ai utilisé de la même valeur que son nom.
<form #myform="ngForm">
<table>
<tr *ngFor="let staff of staffs">
<td><input name="name" [(ngModel)]="staff.name">{{staff.name}}</td>
</tr>
</table>
</form>
après avoir changé en belows, mon problème est résolu.
<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>
==========
désolé, Je ne me souviens pas pourquoi j'utilise des noms[$index].Nom au lieu de X. Nom.
il y a peut-être des années que je rencontre une erreur en utilisant X. Nom, puis pris l'habitude d'utiliser index.
---mise à jour-----
j'ai besoin d'une table d'édition en ligne, bidirectionnelle.
<table>
<tr *ngFor="let x of names">
<td><input [(ngModel)]="x.Name">{{x.Name}}</td>
</tr>
</table>
let names = [
{ Name:'jim'},
{ Name:'tom'}
];
initialement les pages montrent:
blank text field; jim
blank text field; tom
après avoir tapé 'aaaaaa' dans le premier champ de texte, il devient:
aaaaaa; aaaaaa
blank text field; tom
je pense que la page initialement voudrais montrer:
jim; jim
tom; tom
donc, mon problème est exactement pourquoi la valeur initiale est manquant?
2 réponses
Il faut [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>
dans votre cas monsieur si vous utilisez * ngFor pour loop alors je ne pense pas que vous ayez besoin d'index. pourquoi tu n'utilises pas x?Nom. voici le code modifié.
<table>
<tr *ngFor="let x of names;let i = index;">
<td>{{ i+ 1 }}</td>
<td><input [(ngModel)]="x.Name">{{x.Name}}</td>
</tr>
</table>
ou pouvez-vous essayer cette
<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>