可以使用数组的slice()方法创建一个新的对象来强制ngFor指令更新视图。示例如下:
在组件中声明一个数组:
export class MyComponent {
myArray = [{name: 'John', age: 25}, {name: 'Jane', age: 30}];
}
在模板中使用ngFor指令遍历数组:
- {{item.name}}, {{item.age}}
当需要更新myArray的某个对象时,使用slice()方法创建一个新的数组对象并重新赋值:
updateArrayItem() {
const updatedItem = {name: 'John', age: 26};
this.myArray[0] = updatedItem;
this.myArray = this.myArray.slice();
}
这样就能强制ngFor指令更新视图了。