在AngularJS中刷新页面时如何将用户重定向到登录页面

时间:2014-01-15 10:16:49

标签: javascript html5 angularjs

在我的应用程序中,我希望在刷新他正在查看的页面时将用户重定向到登录页面。我怎么能在AngularJS中做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以收听事件$locationChangeStarted,如果用户未登录,则会阻止默认行为(事件对象的preventDefault()方法)并将$location更改为您想要的任何页面。

这是一个伪编码示例:

myModule.run(function($locaiton, $rootScope, MyLoginService) {
   $rootScope.on('$locationChangeStarted', function(event) {
       if (!MyLoginService.isAuthentificated() && event.oldUrl !== 'myloginpage') {
          event.preventDefault();
          $location.path('/myloginpage');
       }
   });
});