微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

角oauth2服务异步管道不起作用

如何解决角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 举报,一经查实,本站将立刻删除。