angular – ng在删除项目时不更新

我在页面模板(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不会删除该项目的条目.

我还尝试使用’push’和’splice’手动修改数组而不是替换它.但这种行为仍然是名字.删除项目时,DOM永远不会更新.

任何帮助将不胜感激.

最佳答案 您可以使用
ChangeDetectorRef每0.5秒或更长时间检查和更新列表…

例如:

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