В моем сервисе есть субъект с именем 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 вызывается каждый раз, когда я подписываюсь на новое значение?