监听$destroy来清除定时器

原创 2018年04月16日 10:23:00
  • 程序中我们常用到定时器来实现某些效果,比如倒计时等。但是我们使用定时器的同时,千万不要忘了当你不需要某个定时器的时候,一定要对其进行清除。否则不仅会拉低性能,而且会造成一些怪异的问题。通常情况就是闪动,数字或者某个节点的闪动。

  • 而通常我们在关闭某个功能点的时候,也会对定时器进行清除,但是有的时候会因为一些原因,某个$scope确实被销毁了,但是我们监听的情况中并没有包含这一点。这样就会造成定时器并没有被清除。所以我们需要用监听$destroy的方式来清定时器。如下

$scope.$on('$destroy', function () {
            clearInterval(bufferTimer);
            $uibModalInstance.dismiss('cancel');
        })

通过监听$scope的删除和销毁来广播一个$destory事件,清除定时器。

版权声明:本文为博主原创文章,未经博主允许不得转载!转载请注明出处。 https://blog.csdn.net/lunhui1994_/article/details/79957204

AngularJS之定时器无法停止

1、问题背景     AngularJS设置定时器后,再次点击按钮触发定时器,这时会出现:前一个定时器未停止,后一个定时器又启动了,导致出现多个定时器同时在运行。2、问题源码 Angu...
  • you23hai45
  • you23hai45
  • 2016-08-31 23:40:34
  • 1864

不要忘记监听$destroy事件来清除timer

angularjs会广播一个$destroy的事件在销毁scope和其父对象被删除时。 在做一些清除的任务或资源的时候,监听这个事件就变得非常的关键,否则就可能消耗内存和CUP. 下面是一个有问题的情...
  • ljinkai_ljk
  • ljinkai_ljk
  • 2014-01-20 18:29:18
  • 3146

angularjs定时任务的设置与清除

设置定时任务,给定时任务起一个名字time_upd,为的是方便清理的时候直接调用名称。 var timeout_upd = $interval($scope.upd_data ,6000); 注意...
  • liu4071325
  • liu4071325
  • 2016-08-19 09:23:30
  • 14084

angular1.x---angular中清除定时器$interval,解决重复计算问题

用angular1.x版本做定时器的时候,需要用到内置对象'$interval',用到window原生的setInterval的时候不能及时更新数据,但是’$interval’定义的定时器却不像set...
  • Wbiokr
  • Wbiokr
  • 2017-04-06 23:18:12
  • 3592

DRP

个人总结DRP: 第一天: 注:到黑窗口中写sqlplus drp/drp连接到Oracle,设置一下set linesize 300;直接写查询语句。 1. drp的第一步建立数据库:SQL文件夹内...
  • spookyspirits
  • spookyspirits
  • 2016-06-24 20:06:14
  • 131

如何释放jquery插件占用的内存?

实例化jquery插件后,需要动态删除插件并移除DOM,如何释放jquery插件占用的内存? 很多jquery插件,没有提供destroy的接口。 例如最近经常用到jquery-reel.js和循...
  • mochong
  • mochong
  • 2017-03-28 14:11:31
  • 340

如何清除匿名定时器

在JS中,并没有查看所有定时器的接口,所以无法知道程序中使用了多少个定时器,更无法知道定时器对应的执行函数,在这种情况下,我们一来难以清除匿名定时器,二来难以一次清除所有的定时器。幸好,现在主流的浏览...
  • yiifaa
  • yiifaa
  • 2016-09-28 11:07:57
  • 1381

cocos2d-js销毁计时器

cocos2d-js的定时器的创建跟使用: 情况一:var TestLayer = cc.Layer.extend({ sprite:null, ctor:function () {...
  • a641832648
  • a641832648
  • 2016-02-25 11:17:38
  • 2025

angularjs 移除定时器

作者:LoveEmperor_王子様 定时器与loadingview $ionicLoading.show({ template: '数据加载中...' });...
  • qq_31424825
  • qq_31424825
  • 2017-05-09 18:36:01
  • 484

js/jquery清除定时器setInterval

//保存js内置方法用于后面调用 window.oldInterval = window.oldInterval?window.oldInterval:window.setInterval; wi...
  • crazy_chicken
  • crazy_chicken
  • 2018-01-05 15:14:35
  • 545
收藏助手
不良信息举报
您举报文章:监听$destroy来清除定时器
举报原因:
原因补充:

(最多只允许输入30个字)