AngularJS定时器的使用与移除操作方法【interval与timeout】


Posted in Javascript onDecember 14, 2016

本文实例讲述了AngularJS定时器的使用与移除操作方法。分享给大家供大家参考,具体如下:

1.相比较于JS中setTimeInterval和setTimeout,AngularJS中通过interval来实现定时器的效果,通过timeout来实现时间延迟。

$timeout //实现的是延迟执行
$interval //实现的是定时器的效果

我们分别来看这两个服务

(1)timeout

timeout相当于JS原生里面的延迟执行,不同的是该服务的函数返回的是一个promise对象。

var timer=$timeout(function(){
   console.log('hello world')
},2000);  //该函数延迟2秒执行
timer.then(function(){ console.log('创建成功')},
function(){ console.log('创建不成功')};

(2)interval

interval与timeout服务大同小异,创建定时器返回的也是一个promise对象。

var timer=$interval(function(){
   console.log('hello world')
},2000);  //间隔2秒定时执行
timer.then(function(){ console.log('创建成功')},
function(){ console.log('创建不成功')};

2.如何移除定时器

在angularJSo中,特别是在页面切换或者说是路由切换的时候,我们需要移除响应的定时器,我们可以通过on方法,监听路由切换时间。当DOM结构发生变化时,会执行on方法:

$scope.$on('destroy',function(){
  $interval.cancel($scope.timer);
}) //在控制器里,添加$on函数

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
JQuery CSS样式控制 学习笔记
Jul 23 Javascript
js 判断脚本加载完毕的代码
Jul 13 Javascript
caller和callee的区别介绍及演示结果
Mar 10 Javascript
ExtJs纵坐标值重复问题的解决方法
Feb 27 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
Apr 06 Javascript
js onmousewheel事件多次触发问题解决方法
Oct 17 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
Oct 10 Javascript
简单解析JavaScript中的__proto__属性
May 10 Javascript
Javascript 获取鼠标当前的位置实现方法
Oct 27 Javascript
jQuery实现全选、反选和不选功能
Aug 16 jQuery
基于原生js运动方式关键点的总结(推荐)
Oct 01 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
Aug 04 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
Apr 18 #Javascript
微信小程序中使元素占满整个屏幕高度实现方法
Dec 14 #Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
Dec 14 #Javascript
bootstrap modal弹出框的垂直居中
Dec 14 #Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
Dec 14 #Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 #Javascript
bootstrap模态框实现拖拽效果
Dec 14 #Javascript
You might like
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
PHP里的中文变量说明
2011/07/23 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
php多文件打包下载的实例代码
2017/07/12 PHP
js no-repeat写法 背景不重复
2009/03/18 Javascript
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
JavaScript常用基础知识强化学习
2015/12/09 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
[03:24]CDEC.Y赛前采访 努力备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
Python实现Event回调机制的方法
2019/02/13 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
浅谈django channels 路由误导
2020/05/28 Python
如何利用Python 进行边缘检测
2020/10/14 Python
销售代表求职自荐信
2013/10/01 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
优秀员工推荐信
2014/05/10 职场文书
家长建议怎么写
2014/05/15 职场文书
工商管理本科生求职信
2014/07/13 职场文书
出租房屋协议书
2014/09/14 职场文书
营销总监岗位职责
2014/09/16 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
Python torch.flatten()函数案例详解
2021/08/30 Python