我的代码就像
login.component.ts
loginSucess () {
this.MenuService.setUserName(userauthresponce.username);
}
MenuService.ts
private usernameSource = new BehaviorSubject<any>(0);
setUserName (username) {
this.usernameSource.next(username);
}
getUserName () {
return this.usernameSource.asObservable();
}
其他组件
constructor(MenuService:MenuService) {
this.MenuService.getUserName().subscribe(responce => {
console.log('username', responce);
this.username = responce;
});
}
/* it's not working hear*/
switchrole() {
this.router.navigate(['/dashboard']);
this.MenuService.setUserName(this.username);
}
我在第一次登录时获取用户名,然后当用户单击“切换角色”按钮时,它调用了切换角色功能。在此功能中,我必须将页面导航至仪表板,在这种情况下,我的用户名将为0;
即使我从switchrole()设置了用户名,但这也不起作用
我没有得到我的错误,请帮助我
尽量不要打电话this.usernameSource.asObservable()
,只是返回即可,this.usernameSource
因为您可以BehaviorSubject
直接订阅,但不能在Observable上打电话。
前任。
private usernameSource = new BehaviorSubject<any>(0);
setUserName (username) {
this.usernameSource.next(username);
}
getUserName () {
return this.usernameSource;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句