在Angular 2中删除*ngFor
中的项目后(该项目在后端被删除),该项目在视图中仍然可见... DOM未更新...页面刷新后,该项目在视图中不可见......
答案 0 :(得分:0)
从后端删除项目后,您需要执行以下两项中的任何一项。 1.调用API以从后端获取项目。 2.如果您确实不希望后端调用在删除后获取新列表,则至少将列表中的项目拼接/切片,以便* ngFor不会在列表中包含该项目。
否则,您将在列表中包含该项目,直到刷新列表。
答案 1 :(得分:0)
尝试这样的事情:
this._service.delete(item)
.subscribe(
(result) => { this.something = result },
error => { this.errorMessage = <any>error; },
() => {
this.refreshView();
});
refreshView() {
this._service.getItems()
.subscribe(
(result) => { this.myItems = result },
error => { this.errorMessage = <any>error; },
() => {});
}