【发布时间】:2020-09-09 21:38:48
【问题描述】:
我使用 Angular 10 和 *ngFor 指令来创建元素列表。每当输入数组发生变化时,我都会对元素做一些事情。例如:
ngAfterViewInit() {
this.elements.changes.subscribe(t => {
this.loadElementInfos();
})
}
如果我在函数内部设置break-point,偶尔我会看到*ngFor 实际上将新元素添加到列表中,然后丢弃旧元素。
例如:
old-element-0
old-element-1
old-element-2
old-element-3
new-element-0
new-element-1
new-element-2
new-element-3
一毫秒后,旧元素被丢弃。有没有机会控制ngFor 的行为不这样做?
new-element-0
new-element-1
new-element-2
new-element-3
【问题讨论】:
-
确实取决于您在该函数中执行的操作以及对象的外观,但通常您可以使用
trackBy子句进行控制