Angular 4 - 动作后刷新

时间:2017-10-06 14:19:16

标签: angular

我正在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没有定义。如何刷新视图?

1 个答案:

答案 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();
    });
}