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制作的鼠标悬浮时产生的下拉框效果
Oct 27 Javascript
JS对HTML标签select的获取、添加、删除操作
Oct 17 Javascript
纯JavaScript实现的分页插件实例
Jul 14 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
Nov 26 Javascript
js自制图片放大镜功能
Jan 24 Javascript
JavaScript基本类型值-Number类型
Feb 24 Javascript
基于Vue制作组织架构树组件
Dec 06 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
vue-cli项目修改文件热重载失效的解决方法
Sep 19 Javascript
vue自定义指令directive的使用方法
Apr 07 Javascript
js实现可爱的气泡特效
Sep 05 Javascript
原生JS实现九宫格抽奖
Sep 13 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
德劲1104的电路分析与改良
2021/03/01 无线电
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
Python urlopen 使用小示例
2008/09/06 Python
Python获取服务器信息的最简单实现方法
2015/03/05 Python
Python找出list中最常出现元素的方法
2016/06/14 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
Selenium定位元素操作示例
2018/08/10 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
十八大演讲稿
2014/05/22 职场文书
机械工程师岗位职责
2014/06/16 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python