2

我都尝试过$locationChangeStartand $routeChangeStart,但它们都不起作用 - 它们要么导致闪烁(switchign url),要么根本不起作用。我在这里做错了什么?

$rootScope.$on('$locationChangeStart', function (event,future,current) {
    if (!user.isAuthenticated()){
        $location.path('/login');
        event.preventDefault();
    }
  });

 

$rootScope.$on('$routeChangeStart', function() {
    if (!user.isAuthenticated()) {
        $location.path('/login');
    }
  });

看到这个朋克http://plunker.co/edit/SnBuFPXSLMBd8G9R0KXl?p=preview

4

1 回答 1

0

问题不在于您取消位置更改的方式。是 ng-view 上的ng-animate导致闪烁。当您只是切换位置而不进行身份验证验证时,您仍然可以看到它。

于 2013-10-05T10:08:40.390 回答