在Angular 7中,当数组引用被更改后,UI不会立即刷新。这是因为Angular使用了变化检测策略来优化性能,只有在发生变化时才会刷新UI。
以下是一种解决方法,可以通过改变数组的引用来强制刷新UI:
public myArray: any[] = [];
ngFor
指令来循环遍历数组,并在每个元素上绑定一个唯一的标识符:{{item}}
trackByFn
方法,该方法返回每个元素的唯一标识符。这可以是元素的索引或任何唯一的属性。public trackByFn(index, item) {
return item.id; // 假设每个元素有一个唯一的id属性
}
myArray
变量:public updateArray() {
// 假设原始数组是这样的:
// const originalArray = [1, 2, 3, 4, 5];
// 创建一个新的数组,并将其赋值给myArray
this.myArray = [6, 7, 8, 9, 10];
}
通过这种方式,当myArray
的引用被更改时,Angular将会检测到变化,并立即刷新UI以反映新的数据。