尝试在多次进入/退出页面时调试$ locationChangeSuccess。从我的测试中可以看出,当它进入它时,它会在退出时发射两次,然后发射4次。代码在最开始时放在控制器内。我做错了什么?
首先输入它没有被触发。
第一次退出时触发一次
第二次进入时被触发一次
下次两次触发它并在
之后再乘以4 var counter = 0;
$rootScope.$on('$locationChangeSuccess', function (event, current, previous) {
console.log(current);
console.log(previous);
console.log(counter);
console.log('------------');
counter++
});
答案 0 :(得分:1)
您的代码不应该在控制器内。它应该是内部运行方法。
app.run(['$rootScope', function($rootScope) {
$rootScope.$on('$locationChangeSuccess', function (event, current, previous){
console.log(current);
console.log(previous);
console.log(counter);
console.log('------------');
counter++
});
}]);