AngularJS - 防止$位置更改而不会闪烁

时间:2013-06-11 15:00:41

标签: angularjs routes

我已尝试$locationChangeStart$routeChangeStart,但它们都不起作用 - 它们会导致闪烁(switchign urls)或根本不起作用。我在这做错了什么?

$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');
    }
  });

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

1 个答案:

答案 0 :(得分:0)

问题不在于您取消位置更改的方式。 ng-view上的 ng-animate 会导致闪烁。只需在没有验证身份的情况下切换位置,您仍然可以看到它。