我想检查路由器中的内容。在某些情况下,我应该在anothter页面上重定向。
我设置路由器:
when('/login', {
templateUrl: 'login.html',
controller: 'Login',
resolve : {
'checkLogin': ['checkLogin', function(checkLogin){
return checkLogin.isLogin();
}]
}
})
工厂:
app.factory('checkLogin', [function() {
"use strict";
return {
isLogin: function() {
if (loggin === 1) {
$location.path('/home');
};
}
};
}]);
如果loggin === 1
重定向到/home
,但无论如何它都会调用Login
控制器。我该如何禁用它?在这种情况下,不要激活Login
控制器吗?
由于
答案 0 :(得分:0)
我决定使用@PankajParkar建议的$locationChangeStart
。
app.run(['$rootScope', '$location', function($rootScope, $location) {
"use strict";
$rootScope.$on('$locationChangeStart', function(event, next, current) {
if (next.indexOf('login') !== -1) {
if (loggin === 1) {
event.preventDefault();
$location.path('/home');
}
}
});
}]);
不确定它看起来不错。