如何解决角oauth2服务异步管道不起作用
我想在用户登录时显示div,而在未登录时隐藏它。为此,我尝试在视图中使用可观察对象并使用异步管道。仅当使用F5刷新页面时,该功能才有效。看来,观测站运作不佳。这是我到目前为止所做的
在我创建的服务中
public loggedInObs: BehaviorSubject<boolean>;
constructor(private oauthService: OAuthService) {
this.loggedInObs = new BehaviorSubject<boolean>(false);
}
/** get authenticat state */
public isAuthenticated(): Observable<boolean> {
return from(this.oauthService.getAccesstoken())
.pipe(
map(result => {
console.log("logged")
this.loggedInObs.next(true);
return true;
}),catchError(error => {
console.log("Non Loggato")
this.loggedInObs.next(false);
return of(false);
})
);
}
在app.component.ts
中 isLoggedIn$: Observable<boolean>; // the observable
ngOnInit(): void {
this.isLoggedIn$ = this.authService.isAuthenticated().pipe();
}
这是视图
<div *ngIf="isLoggedIn$ | async"></div>
<div>Hello World</div>
我真的不明白
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。