角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 (将#修改为@)