源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

AngualrJs清除定时器遇到的坑

  • 时间:2021-03-12 20:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:AngualrJs清除定时器遇到的坑
angualrJs清除定时器爬坑之路: 今天发现一个奇怪问题,放在自定义指令里边的定时器竟然在页面跳转之后,在另一个页面这个循环定时器还在执行,这肯定是不行的,会影响系统的性能。 我在angular里边用原生的方法window.onunload方法竟然不管用,所以只好用angular自己的方法$destroy,这页面跳转,DOM结构发生变化是都能清除定时器
      var timer = setInterval(function(){
          $scope.$apply(function(){
            //这里是想要定时刷新的逻辑
          });
        },3000);
        $scope.$on('$destroy',function(){
          if (timer) {
            clearInterval(timer);
            timer = null;
          }
        });
 这里说一下,因为我用的是javascript中原生的[code]setTimeout()[/code]以及[code]setInterval()[/code]函数,所以清除时对应是[code]clearTimeout()[/code]和[code]clearInterval()[/code],angular定时器是[code]$timeOut[/code]和[code]$interval[/code],所以清除对应是[code]$timeOut.cancel()[/code]和[code]$interval.cancel()[/code], 必须一一对应,不一致是不会清除掉的。 [b]总结[/b] 以上所述是小编给大家介绍的AngualrJs清除定时器遇到的坑,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程素材网网站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部