Angular 登录后更新头组件不会';行不通
我正在用Angular 8编写web应用程序 我有标题和登录页面。我想在登录后更新我的标题,以显示有关当前登录用户的信息。我正在使用Behavior Subject来执行此操作,但它不起作用 这是我的身份验证服务行为主体在哪里Angular 登录后更新头组件不会';行不通,angular,typescript,authentication,rxjs,Angular,Typescript,Authentication,Rxjs,我正在用Angular 8编写web应用程序 我有标题和登录页面。我想在登录后更新我的标题,以显示有关当前登录用户的信息。我正在使用Behavior Subject来执行此操作,但它不起作用 这是我的身份验证服务行为主体在哪里 @Injectable() 导出类身份验证服务{ 私有只读授权类型='password'; 记录:BehaviorSubject=新的BehaviorSubject(空); //私有身份验证$:可观察 {{username}} Profil 威洛古 在登录组件中,我从a
@Injectable()
导出类身份验证服务{
私有只读授权类型='password';
记录:BehaviorSubject=新的BehaviorSubject(空);
//私有身份验证$:可观察
{{username}}
Profil
威洛古
在登录组件中,我从auth.service和它的工作调用方法“login”,它可以正确地导航到仪表板,但没有更新的标题
你知道我做错了什么吗?我认为订阅“this.onLogged”的下面一行有问题:
ngOnInit() {
this.subscriptions.push(this.authService.logged.subscribe(this.onLogged));
}
在这里,当观察者方法-this.onLogged
-注册为可观察时,它会失去方法范围(即this
上下文)。因此,可观察者无法调用this.isLogged
方法。将其更改为以下内容,它必须工作:
ngOnInit() {
this.subscriptions.push(this.authService.logged.subscribe((value) => {
this.onLogged(value);
}));
}