Единственная цель службы - отслеживать, вошел ли пользователь в систему или нет. (Я нахожусь в версии 8 angular)
@Injectable({
providedIn: 'root',
})
export class LoginStatusService {
subject: any;
initialCreate() {
this.subject = new Subject();
this.subject.next(false);
}
}
У меня есть две разные панели навигации (navbar, navresearch). navresearch имеет кнопку для отправки пользователя обратно на главную страницу navbar. Содержимое панели навигации зависит от того, вошел ли пользователь в систему или нет.
app.module не имеет этой службы в поставщиках:
],
providers: [
AuthService,
ErrorInterceptorProvider
],
bootstrap: [
AppComponent
Как вы можете видеть, она начинается в AppComponent, где я Я подумал, что могу инициализировать объект Rx Js, вызвав функцию, показанную выше - см. здесь:
export class AppComponent {
title = 'Hunter';
constructor(private LoggedIn: LoginStatusService) {
this.LoggedIn.initialCreate(); **<--**
}
}
Переключение страниц назад на главную страницу navbar приводит к повторной инициализации app.component и, таким образом, Rx Js Субъект повторно инициализируется - и я теряю статус пользователя.
Чего мне не хватает?