How properly bind an array with ngModel in angular 4?

后端 未结 1 1121
甜味超标
甜味超标 2020-12-15 13:59

Let\'s suppose I have an array [1,2,3]. I want to iterate all items and bind each to ngModel. When I run this code after changing the first element, the second one is gettin

相关标签:
1条回答
  • 2020-12-15 14:28

    ngFor by default uses object identity to compare values, this breaks when primitive values (number, string, boolean) are used, because they change identity when modified). Using trackBy allows to configure ngFor to zse the index instead of identity:

    <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;
    }
    
    0 讨论(0)
提交回复
热议问题