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 EasyUI NumberBox(数字框)的用法
Jul 08 Javascript
原生javascript实现图片轮播效果代码
Sep 03 Javascript
juqery 学习之六 CSS--css、位置、宽高
Feb 11 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
Mar 06 Javascript
获取阴历(农历)和当前日期的js代码
Feb 15 Javascript
JavaScript 函数节流详解及方法总结
Feb 09 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
Sep 10 Javascript
Vue刷新修改页面中数据的方法
Sep 16 Javascript
微信小程序生成海报分享朋友圈的实现方法
May 06 Javascript
JavaScript实现背景自动切换小案例
Sep 27 Javascript
jQuery实现简单弹幕效果
Nov 28 jQuery
通过滑动翻页效果实现和移动端click事件问题
Jan 26 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
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
使用C++为node.js写扩展模块
2015/04/22 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
require.js中的define函数详解
2017/07/10 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
Python命名空间详解
2014/08/18 Python
wxPython事件驱动实例详解
2014/09/28 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
python实现下载文件的三种方法
2017/02/09 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
基于Python中求和函数sum的用法详解
2018/06/28 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
linux面试题参考答案(7)
2012/10/29 面试题
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
小学生自我鉴定
2013/10/12 职场文书
酒店公关部经理岗位职责
2013/11/24 职场文书
校园门卫岗位职责
2013/12/09 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
庆六一开幕词
2015/01/29 职场文书
幼儿园个人总结
2015/02/28 职场文书
西游降魔篇观后感
2015/06/15 职场文书
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android