AngualrJs清除定时器遇到的坑


Posted in Javascript onOctober 13, 2017

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中原生的setTimeout()以及setInterval()函数,所以清除时对应是clearTimeout()clearInterval(),angular定时器是$timeOut$interval,所以清除对应是$timeOut.cancel()$interval.cancel(),

必须一一对应,不一致是不会清除掉的。

总结

以上所述是小编给大家介绍的AngualrJs清除定时器遇到的坑,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
Apr 12 Javascript
javascript 对表格的行和列都能加亮显示
Dec 26 Javascript
11款新鲜的jQuery插件[附所有demo下载]
Jan 24 Javascript
自己动手开发jQuery插件教程
Aug 25 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
Jun 26 Javascript
jquery滚动条插件jScrollPane的使用介绍
Nov 08 Javascript
用svg制作富有动态的tooltip
Jul 17 Javascript
基于js的变量提升和函数提升(详解)
Sep 17 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
Dec 20 Javascript
redux.js详解及基本使用
May 24 Javascript
利用JavaScript的Map提升性能的方法详解
Aug 14 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
Nov 05 Javascript
React Native中Navigator的使用方法示例
Oct 13 #Javascript
React Native中TabBarIOS的简单使用方法示例
Oct 13 #Javascript
ReactJS实现表单的单选多选和反选的示例
Oct 13 #Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
Oct 13 #Javascript
捕获未处理的Promise错误方法
Oct 13 #Javascript
解决ie img标签内存泄漏的问题
Oct 13 #Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
Oct 13 #jQuery
You might like
PHP生成plist数据的方法
2015/06/16 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
javascript入门之window对象【新手必看】
2016/11/22 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
js的新生代垃圾回收知识点总结
2019/08/22 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
Python translator使用实例
2008/09/06 Python
python 运算符 供重载参考
2009/06/11 Python
Python正则表达式匹配ip地址实例
2014/10/09 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
详解python开发环境搭建
2016/12/16 Python
解决Python requests 报错方法集锦
2017/03/19 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
Django框架视图介绍与使用详解
2019/07/18 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
python中time.ctime()实例用法
2021/02/03 Python
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
校园学雷锋广播稿
2014/10/08 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python