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 相关文章推荐
JQuery 文本框回车跳到下一个文本框示例代码
Aug 30 Javascript
js常用自定义公共函数汇总
Jan 15 Javascript
移动设备web开发首选框架:zeptojs介绍
Jan 29 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
浅析Bootstrap缩略图组件与警示框组件
Apr 29 Javascript
使用jquery获取url及url参数的简单实例
Jun 14 Javascript
Node.js常用工具之util模块
Mar 09 Javascript
javascript显示动态时间的方法汇总
Jul 06 Javascript
浅谈Redux中间件的实践
Jul 27 Javascript
微信小程序自定义键盘 内部虚拟支付
Dec 20 Javascript
原生JS实现汇率转换功能代码实例
May 13 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
Jun 22 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 数据结构 算法 三元组 Triplet
2011/07/02 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
PHP高手需要要掌握的知识点
2014/08/21 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
如何在微信小程序中存setStorage
2019/12/13 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
Javascript文本框脚本实现方法解析
2020/10/30 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
Python3.2中Print函数用法实例详解
2015/05/19 Python
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
python实现自动发送邮件
2018/06/20 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
Python os模块常用方法和属性总结
2020/02/20 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
怎样写好创业计划书的内容
2014/02/06 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
军事博物馆观后感
2015/06/05 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书