Ответ 1
Это должно быть [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>
=== окончательное обновление ==
http://plnkr.co/edit/WKRBB7?p=preview
поскольку я использую ngModel в форме, я должен добавить name
.
и моя ошибка в том, что я использовал то же значение, что и его имя.
<form #myform="ngForm">
<table>
<tr *ngFor="let staff of staffs">
<td><input name="name" [(ngModel)]="staff.name">{{staff.name}}</td>
</tr>
</table>
</form>
после того, как я перехожу к слабостям, моя проблема решена.
<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>
==========
извините, я не могу вспомнить, почему я использую имена [$ 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'}
];
изначально страницы показывают:
blank text field; jim
blank text field; tom
после ввода "aaaaaa" в первом текстовом поле, он становится:
aaaaaa; aaaaaa
blank text field; tom
Я думаю, что страница первоначально показала бы:
jim; jim
tom; tom
поэтому, моя проблема в том, почему отсутствует начальное значение?
Это должно быть [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>
в вашем случае sir, если вы используете * ngFor для цикла, тогда я не думаю, что вам нужен индекс. почему бы вам просто не использовать 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>
или вы можете попробовать это
<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>