gpt4 book ai didi

angular - ngFor 在删除项目时不更新

转载 作者:太空狗 更新时间:2023-10-29 17:57:52 25 4
gpt4 key购买 nike

我在页面模板 (Ionic 2) 中使用 *ngFor。

<div class="child" *ngFor="let child of sharedParams.children">
...
</div>

在应用程序内部的某处,当检测到更改(添加、更新、删除)时,我会更新子数组。我这样做是为属性分配一个新数组:

export class SharedParams {    
private _children: Child[];

constructor(children: Child[]){
this._children = children;
}

get children(){
return this._children;
}

set children(children: Child[]){
this._children = children;
}
}

当在数组中添加或更新项目时,会触发 ngFor 并更新 DOM。然而,当一个项目被删除时,数组会发生变化,但 DOM 不会删除该项目的条目。

我还尝试使用“推送”和“拼接”手动修改数组而不是替换它。但行为保留名称。当一个项目被删除时,DOM 永远不会更新。

如有任何帮助,我们将不胜感激。

最佳答案

您可以使用 ChangeDetectorRef每 0.5 秒或更长时间检查和更新列表...

例如:

constructor(private ref: ChangeDetectorRef) {
console.log('Hello PhotoComponent Component');
setInterval(() => {
this.ref.detectChanges();
}, 500);
}

关于angular - ngFor 在删除项目时不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37437347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com