javascript - 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 状态)然后成功。我在这里做错了什么?
解决方案
我终于纠正了这个问题。向 UI 路由器的“解决”返回了一个 Promise,因此转换失败并重定向到所需的状态(access.signin)。
推荐阅读
- php - 使用 json_encode() 时如何添加空格和换行符?
- apache-kafka - kafka-connect:在连接器接收器 cassandra 的分布式配置中出现错误
- vue.js - Nuxt 添加参数无需页面且无需重新加载页面
- javascript - 功能无法识别
- angularjs - 在生成 AngularJS 项目的构建时获取 Uglifying source .tmp/concat/scripts/scripts.js 失败
- python - 在 Windows 10 上使用 django 连接到远程 mysql
- c# - 将所有非字母字符从一个字符串移动到 char 数组
- c++ - 如何结束图形 GUI 并执行控制台功能(QT)?
- python-3.x - 在 Pyaudio 中检测哨子
- r - 为什么“write.dat”(R)将数据文件保存在文件夹中?