如果用户已登录应用程序或否,我在检查页面加载时会遇到问题。我尝试使用eventEmmiter和Subject,但在加载时没有结果可用于检查本地存储。

这是我的AuthenticationService

export class AuthenticationService {
  constructor() {
  }
  // here is bunch of code

  isLoggedIn(): boolean {
    let currentUser = localStorage.getItem('currentUser');
    return !!(currentUser);
  }


}

这是我的HedaerComponent:

constructor(private authenticationService: AuthenticationService) {
 this.checkUser();
}

checkUser() {
 if (this.authenticationService.isLoggedIn()) {
 // do something
 }
 else {
 // do something
 }
}


我在第一次加载应用程序时遇到问题,如何检查用户是否登录?令我难过的是,我尝试放弃价值,但没有结果。感谢帮助!

最佳答案

您可以使用Angular的路由防护器来实现。这是一些教程:


https://ryanchenkie.com/angular-authentication-using-route-guards
https://angular.io/guide/router#milestone-5-route-guards

07-24 17:15