在应用初始化时首页加载我想将用户重定向到登录页面。我认为代码的相关部分是这个
$rootScope.$on("$routeChangeStart", function (event, next, current) {
alert("change location");
$location.path('/login');
});
它基于https://github.com/fnakstad/angular-client-side-auth/blob/master/app/js/app.js问题是在页面加载时触发警报但位置不会改变。我必须单击我的应用程序的导航项,然后将调用登录操作并更改路径。
.run(['$rootScope', '$location', '$cookieStore', function ($rootScope,
$location, $cookieStore) {
$location.path('/login');
$rootScope.$on("$routeChangeStart", function (event, next, current) {
$location.path('/login');
});
$rootScope.appInitialized = true;
}]);
但这似乎有点多余。为什么会触发警报但不会改变位置?
为什么整页加载时位置不会改变?如何解决这个问题?
完整代码http://jsfiddle.net/qfSC3/但小提琴不起作用。
答案 0 :(得分:3)
尝试使用$ locationChangeStart事件
$scope.$on("$locationChangeStart", function(event){
event.preventDefault();
})
基于这个问题:AngularJS - Detecting, stalling, and cancelling route changes