route
在我的 AngularJS 应用程序中,当用户未登录时,我将其重定向到特定页面。为此,我在$rootScope
.
现在我想在用户登录时阻止浏览器的后退按钮。我想将其重定向到特定页面(registration
视图)。问题是我不知道是否有后退按钮事件。
我的代码是:
angular.module('myApp',[...]
//Route configurations
}])
.run(function($rootScope, $location){
$rootScope.$on('$routeChangeStart', function(event, next, current){
if(!$rootScope.loggedUser) {
$location.path('/register');
}
});
$rootScope.$on('$locationChangeStart', function(event, next, current){
console.log("Current: " + current);
console.log("Next: " + next);
});
});
所以$locationChangeStart
我会写一个伪代码,如:
if (event == backButton){
$location.path('/register');
}
是否可以?
一个天真的解决方案是编写一个函数来检查是否顺序错误,检测用户next
是否返回。current
还有其他解决方案吗?我以错误的方式处理问题?