我发现了this帖子,同时阅读了正确的方法来清理附加在angularjs中的$ scope的事件监听器。
我正在我的app模块运行块中听$ rootScope上的一个事件:
app.run(['$rootScope', function($rootScope){
$rootScope.$on('$stateChangeStart', function(event, toState, toParams){
//do stuff here...
});
}]);
由于$ scope在运行块中不可用,我可以在$ rootScope上监听destroy事件吗?
所以:
app.run(['$rootScope', function($rootScope){
var listenerFn = $rootScope.$on('$stateChangeStart', function(event, toState, toParams){
//do stuff here...
});
$rootScope.$on('$destroy', listenerFn);
}]);
我不太确定我可以通过这种方式在线浏览各种帖子和文档,因为它看起来并不像$ rootScope有一个销毁事件。那么这里的正确方法是什么?