===最終更新==結合ngModel* ngFor如何每個項目在使用陣列索引
http://plnkr.co/edit/WKRBB7?p=preview
因爲我的形式使用ngModel,我必須補充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>
當我改變到下面,我的問題得到解決。
<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>
==========
抱歉,我不記得爲什麼我使用的名稱[$指數]請將.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
所以,我的問題究竟是,爲什麼初始值缺失?
請檢查文檔第一https://angular.io/docs/ts/latest/ –
爲什麼你不綁定到'x.Name '? –
@TamasHegedus可能無法工作(不完全確定),但我記得'[(ngModel)] =「...」'不適用於模板變量的錯誤消息,但除此之外,一個很好的建議 - 絕對值得嘗試。 –