我在两种状态下使用单个控制器。如果我在这两种状态中导航,并尝试处理$ stateChangeSuccess事件,我面临的问题是,在每种状态下,事件都会触发两次。
$scope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) {
// some code...
});
我知道这是一个$ scope游戏,但我怎么能处理它。提前谢谢......
答案 0 :(得分:1)
我相信你应该像这样在$ rootScope上观看$ stateChangeSuccess:
$rootScope.$on('$stateChangeSuccess' function() {
//code
};
如果不是这样,这里有一些关于controller scope的好信息。从那以后,您应该能够观看这两个事件:$viewContentLoaded和$destroy
$scope.$on('$viewContentLoaded', function() {
console.log('Stuff loaded');
});
$scope.$on('$destroy', function() {
console.log('Destroyed');
})
从那里你应该能够确定范围问题。