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 相关文章推荐
js用图作提交按钮或超连接
Mar 26 Javascript
基于dom编程中 动态创建与删除元素的使用
Apr 17 Javascript
jquery获取元素索引值index()示例
Feb 13 Javascript
基于JS实现数字+字母+中文的混合排序方法
Jun 06 Javascript
JS添加删除DIV的简单实例
Jul 08 Javascript
详解JS去重及字符串奇数位小写转大写
Dec 29 Javascript
Vue声明式渲染详解
May 17 Javascript
深入理解Promise.all
Aug 08 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
Apr 24 Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 Javascript
js实现简单贪吃蛇游戏
May 15 Javascript
微信小程序自定义tabBar的踩坑实践记录
Nov 06 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实现文件安全下载
2006/10/09 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
php中Array2xml类实现数组转化成XML实例
2014/12/08 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
python实现单链表的方法示例
2019/09/03 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
Python中logger日志模块详解
2020/08/04 Python
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
银行毕业实习自我鉴定
2013/09/19 职场文书
高二物理教学反思
2014/02/08 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
家长会标语
2014/06/24 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL