我正在MEAN中创建一个示例CRUD应用程序。整个过程已经完成,但我无法在每次操作后刷新视图。例如,在我的组件中,我将其用于删除和阅读:
ngOnInit() {
this.getUsers();
}
getUsers() {
this.userService.getUsers().subscribe(res => { this.users = res.data; });
}
deleteUser() {
this.userService.deleteUser(this.selectedUser).subscribe(this.selectedUser = null);
}
如您所见,我在ngOnInit
内部执行getUsers。我尝试在deleteuser的订阅内部执行this.getUsers,但它不允许我这样做并且说getusers没有定义。如何刷新视图?
答案 0 :(得分:1)
subscribe()的第一个参数是一个函数。当您的observable发出某些内容时会激活此函数(在这种情况下,您的observable是一个http请求,因此当http请求成功时)。在该函数中,您可以重新调用getUsers方法
deleteUser(){
this.userService.deleteUser(this.selectedUser).subscribe(res => {
// http request was successful, perform logic in here
this.getUsers();
});
}