首页 文章

当我使用canActivate Guard时,它会导致角度为4的空白页?

提问于
浏览
0

我正在尝试使用angular 4实现登录功能但是当我使用canActivate Guard时它将我引导到一个空白页面,请帮助我

这是我的登录服务

isAuthenticated(){
   return localStorage.getItem('token') != null ;
   }

这是可以激活的守卫

canActivate(route : ActivatedRouteSnapshot , state : RouterStateSnapshot){

    return this.loginservice.isAuthenticated();
  }

这是路由器模块

const appRoutes: Routes = [
  {path : '' , redirectTo:'/login', pathMatch :'full' },
  {path : 'login' , component : LoginComponent },
  {path : 'home' , component : HomeComponent, canActivate : [AuthGuard] ,children :[

          {path : 'adduser' , component : AdduserComponent },
          ]

1 回答

  • 2

    如果您未经过身份验证或未经授权,您的AuthGuard应将您重定向到默认页面 .

    constructor( private loginservice: LoginService, private router: Router) {
    
        }
    public canActivate(route : ActivatedRouteSnapshot , state : RouterStateSnapshot){
    
        if(!this.loginservice.isAuthenticated()) {
                this.router.navigate(['login']); // choose either default route like here
                return false;
            }
        return true;
      }
    

相关问题