$ locationChangeStart之前是否有任何事件?

时间:2016-02-18 07:30:32

标签: angularjs angularjs-directive angular-ui-router

我想在每个页面加载之前重新启动一个服务变量。 看来$ locationChange在某些情况下无法满足这种需求

angular.module('xxx')
...
.service('xxxsvc', [..., function(){
    var groups = {};
}

$rootScope.on('$locationChange', function(){
    groups = {}
});
}]);

我在页面上使用了serveral指令使用这个服务,似乎$ locationChange并不是在所有指令之前执行的。我想在初始化页面的任何部分之前重新初始化或清除变量。

有人可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

据我所知有stateChangeStart,因为你甚至可以在操作期间取消它,所以在它之前不会发生任何其他事情。但是我发现您使用的是'$locationChange'而不是'$stateChangeStart',也许这就是问题?

您可以阅读$stateChangeStart here

另一个可能的问题是,您是否验证了您的服务完全被调用?除非你强制执行,否则通常不会再次调用控制器初始化。