[英]How properly bind an array with ngModel in angular 4?
假設我有一個數組 [1,2,3]。 我想迭代所有項目並將每個項目綁定到 ngModel。 當我在更改第一個元素后運行此代碼時,第二個元素獲得相同的值。 有什么問題?
<div *ngFor="let x of array; let i = index;">
<input type="number" [(ngModel)]="x[i]">
</div>
ngFor
默認使用對象標識來比較值,這在使用原始值(數字、字符串、布爾值)時會中斷,因為它們在修改時會更改標識)。 使用trackBy
允許將 ngFor 配置為 zse 索引而不是身份:
<div *ngFor="let x of array; let i = index;trackBy:trackByIdx">
<input type="number" [(ngModel)]="array[i]">
</div>
trackByIdx(index: number, obj: any): any {
return index;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.