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 相关文章推荐
javascript 获取表单file全路径
Dec 31 Javascript
浏览器常用高宽的jquery插件
Feb 24 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
Jul 18 Javascript
select多选 multiple的使用示例
Jun 16 Javascript
简单易用的倒计时js代码
Aug 04 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
Jan 03 Javascript
微信小程序表单验证错误提示效果
May 19 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
Jul 17 jQuery
react 创建单例组件的方法
Apr 26 Javascript
jQuery实现上下滚动公告栏详细代码
Nov 21 jQuery
详解vuex中action何时完成以及如何正确调用dispatch的思考
Jan 21 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
Mar 25 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
第二节 对象模型 [2]
2006/10/09 PHP
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
php中explode与split的区别介绍
2012/10/03 PHP
php把数组值转换成键的方法
2015/07/13 PHP
提高php编程效率技巧
2015/08/13 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
vue分页插件的使用方法
2019/12/25 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
python的构建工具setup.py的方法使用示例
2017/10/23 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
python实现图片筛选程序
2018/10/24 Python
python中open函数的基本用法示例
2019/09/07 Python
python如何设置静态变量
2020/09/07 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
TCP/IP的分层模型
2013/10/27 面试题
教师岗位职责
2013/11/17 职场文书
大学毕业生通用自我评价
2014/01/05 职场文书
商场拾金不昧表扬信
2014/01/13 职场文书
户外活动总结范文
2014/04/30 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
新人入职感言
2015/07/31 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
MySQL分区以及建索引的方法总结
2022/04/13 MySQL