在我的注册页面中,我最终使用$state.go()
重定向用户注册成功。
目标状态成功解析后,已完全渲染,并在那里坐了大约500毫秒,应用程序正在尝试返回到寄存器状态。
在HTML5模式下,它似乎触发了一个难以刷新的地方,我无法捕捉状态变化,观看$ stateChangeStart,当我不处于HTML5模式时,我可以捕获事件并阻止它,但这显然是一个黑客。
我应该在哪里查看此信息?我很丢失。似乎没有任何事件被触发,并且greping代码库,有0个地方可以显式重定向。
我正在使用 angular 1.3.15 和 ui-router 0.2.14 。
修改
请注意,解决方案中的问题重定向会重定向到登录,而不是注册。
注册控制器中的:$state.go(Constants.STATE.INTRO, { allRec: 'all' });
:
angular.module("myApp").config(function($stateProvider, Constants) {
$stateProvider.state(Constants.STATE.INTRO, {
url: "/intro/:allRec?query&category",
views: {
"grid@INTRO": {
templateUrl: "views/intro/layout.html",
controller: "IntroCtrl as intro"
}
},
resolve: {
introData: function(IntroService, $stateParams) {
return IntroService.getIntro()
.then(function(data) {
IntroService.getCount();
return data;
}).catch(function(err) {
if (err && err.status && err.status === 401 || err.status === 500) {
$state.go(Constants.STATE.LOGIN);
}
});
}
});
})
.controller("IntroCtrl", IntroCtrl);