如何在应用程序模块运行块中取消订阅广播事件

时间:2015-11-27 08:37:06

标签: angularjs

我发现了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有一个销毁事件。那么这里的正确方法是什么?

0 个答案:

没有答案