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 相关文章推荐
Highslide.js是一款基于js实现的网页中图片展示插件
Mar 30 Javascript
javascript权威指南 学习笔记之null和undefined
Sep 25 Javascript
js jquery数组介绍
Jul 15 Javascript
js中自定义方法实现停留几秒sleep
Jul 11 Javascript
jQuery Ajax页面局部加载方法汇总
Jun 02 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 Javascript
js is_valid_filename验证文件名的函数
Jul 19 Javascript
vue-resource拦截器设置头信息的实例
Oct 27 Javascript
layer.close()关闭进度条和Iframe窗的方法
Aug 17 Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 Javascript
关于JS模块化的知识点分享
Oct 16 Javascript
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
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 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
php 文章调用类代码
2011/08/11 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
php浏览历史记录的方法
2015/03/10 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
微信开发之微信jssdk录音功能开发示例
2018/10/22 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
python实时分析日志的一个小脚本分享
2017/05/07 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
python自动化生成IOS的图标
2018/11/13 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
CK美国官网:Calvin Klein
2016/08/26 全球购物
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
JS原生实现轮播图的几种方法
2021/03/23 Javascript
实习教师个人的自我评价
2013/11/08 职场文书
幼儿教师研修感言
2014/02/12 职场文书
法学求职信
2014/06/22 职场文书
安全保证书怎么写
2015/02/28 职场文书
个人催款函范文
2015/06/24 职场文书
社区服务活动感想
2015/08/11 职场文书
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang