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文件 document.createElement
Oct 14 Javascript
模拟用户操作Input元素,不会触发相应事件
May 11 Javascript
IE和FireFox(FF)中js和css的不同
Apr 13 Javascript
jquery可见性过滤选择器使用示例
Jun 24 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
Oct 16 Javascript
jquery遍历checkbox介绍
Feb 21 Javascript
transport.js和jquery冲突问题的解决方法
Feb 10 Javascript
JS获取图片高度宽度的方法分享
Apr 17 Javascript
jQuery EasyUI Tab 选项卡问题小结
Aug 16 Javascript
AngularJS  双向数据绑定详解简单实例
Oct 20 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
Feb 23 Javascript
JavaScript中this的全面解析及常见实例
May 14 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 Sql Server连接失败问题及解决办法
2009/08/07 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
php strftime函数的详细用法
2018/06/21 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
vue+axios全局添加请求头和参数操作
2020/07/24 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
Python实现简单的可逆加密程序实例
2015/03/05 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
centos7之Python3.74安装教程
2019/08/15 Python
python3 mmh3安装及使用方法
2019/10/09 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
Python 实现进度条的六种方式
2021/01/06 Python
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
上海奥佳笔试题面试题
2016/11/16 面试题
小学捐书活动总结
2014/07/05 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
国王的演讲观后感
2015/06/03 职场文书
借钱欠条怎么写
2015/07/03 职场文书
同学聚会开幕词
2019/04/02 职场文书
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL
Python Matplotlib库实现画局部图
2021/11/17 Python
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers
JavaScript实现简单的音乐播放器
2022/08/14 Javascript