首页 > 解决方案 > Angular js ui-router 跳过 $state.go

问题描述

如果用户未登录,我的 AngularJs 应用程序应该转到登录页面并尝试加载需要登录用户的路径。

if ($localStorage.globals.access_token) {
    $rootScope.globals = $localStorage.globals;
    $state.go('app.dashboard-v1');
  }else{
    $state.go('access.signin)      
  }

每当应用程序加载这段代码时执行。问题是当我试图到达需要登录用户的路径时,它不是重定向到登录页面,而是转到该特定路径。更令人困惑的是,它开始将状态更改为登录页面(access.signin)但从未成功然后启动特定路径(这里我尝试通过其 url 访问 app.dashboad-v1 状态)然后成功。我在这里做错了什么?

标签: javascriptangularjsroutingangular-ui-router

解决方案


我终于纠正了这个问题。向 UI 路由器的“解决”返回了一个 Promise,因此转换失败并重定向到所需的状态(access.signin)。


推荐阅读