Angular 用于在更改对象数组时重复值

Angular 用于在更改对象数组时重复值,angular,Angular,我有一个*ngFor指令,用于显示数组中每个元素的组件:- 如果其中一个组件触发update事件,那么主机组件将调用一个服务,该服务将访问服务器并获取数据的最新副本作为数组。在ngOnInit上也会调用它来获取初始数据 private updateUsers(){ this.userManagementService.getUsers().subscribe((res)=>{ this.users=res; }, (错误)=>{ console.log(错误); }); } 然而,这似乎将

我有一个
*ngFor
指令,用于显示数组中每个元素的组件:-


如果其中一个组件触发
update
事件,那么主机组件将调用一个服务,该服务将访问服务器并获取数据的最新副本作为数组。在
ngOnInit
上也会调用它来获取初始数据

private updateUsers(){
this.userManagementService.getUsers().subscribe((res)=>{
this.users=res;
},
(错误)=>{
console.log(错误);
});
}
然而,这似乎将新数据置于旧数据之上。例如,如果我有两行,一行是Andy,一行是Bob,我删除了Bob行,我现在将看到Andy,Andy,Bob。此时,我的users数组也将只包含Andy的单个条目。我对Angular2很陌生,我还缺什么

编辑:这是执行删除操作的服务方法:

公共删除用户(用户:用户){
让标题=新标题({
“接受”:“应用程序/json”
});
let options=newrequestoptions({headers});
返回this.http.delete(`${this.apiBaseUrl}帐户/user/${user.id}`,选项);
}
以及调用它的函数(在
UserRowComponent
中):

onDelete(){
this.userManagementService.deleteUser(this.user).subscribe((res)=>{
this.update.emit(this.user);
},
(错误)=>{
});

}

我追踪到了这个问题。这是我的完整设置:


用户名
修改密码
用户权限
管理权限

,这似乎对
*ngFor
不起作用。我想我必须重新考虑我的布局。

“我删除了Bob行…”-怎么做?服务点击REST web服务删除用户,组件在请求完成时触发
更新
事件,获取用户数据的新副本。请向我们显示删除用户的删除方法或更新事件。是否使用这些编解码器位编辑了问题?是否确认删除请求后用户确实被删除,并且后续的updateUsers获取更新的用户数组?