【发布时间】:2020-06-13 07:23:26
【问题描述】:
我的服务中有一个名为 refreshSubject$ 的主题。
private refreshUsers$ = new Subject<User[]>();
每次添加用户时,他都会发出一个新值。
saveUser(user: User[]) {
return this.http.post<User>(this.url, user)
.pipe(
tap(() => {
this.refreshUsers$.next();
})
);
}
我在我的服务上使用 get 方法来检索值
get refresh$() {
return this.refreshUsers$;
}
现在每次添加新用户时,我都会使用 next() 方法发出一个新值。
this.refreshUsers$.next();
在我的组件中,我有我的生命周期钩子 ngOnInit,每次 refreshUsers$ 主题发出新值时都会调用它。
ngOnInit(): void {
this.apiService.refresh$.subscribe(() => {
this.getAllUsers();
});
}
为什么每次订阅新值时都会调用 ngOnInit ?
【问题讨论】:
标签: angular typescript rxjs angular2-observables subject-observer