您现在的位置是: 首页 » 网页代码 » angular怎么移除事件监听
网页代码

angular怎么移除事件监听

网站优化小编十一月 7, 2019 7人已围观

在一个controller代码块被释放掉的时候,我们通常要将一些监听的事件同时释放掉,正常的$scope是不需要我们来维护的。

网站运营中栏目排名优化技巧

当我们对$rootScope进行监听的时候,类似的全局变量或者说在其他地方依然有引用的变量是不会被释放掉的,而我们在controller中对rootScope做对应的事件监听,比如说stateChange等,每次controller初始化都要监听一次 。

移除监听事件的做法是,在rootScope.on方法上,接受它的返回值(是一个function),当scope将要destroy的时候,将返回的函数执行一,然后把对应的引用同时删掉即可。

类似代码如下

Javascript代码:

var listener = $rootScope.$on('$stateChangeSuccess',
function(event, toState, toParams, fromState, fromParams){ 
   ......
   });  
    $scope.$on('$destroy',function() {  
     listener();  
      listener = null; 
       })

文章评论

    发表评论

    电子邮件地址不会被公开。

站点信息
  • 站点运行:199天
  • 网站程序:Wordpress
  • 主题模板:bvseo
  • 文章统计:2509 条
  • 文章评论:5 条
  • 微信公众号:扫描二维码,关注我们