AngularJS定时器的使用与移除操作方法【interval与timeout】
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》
希望本文所述对大家AngularJS程序设计有所帮助。
相关文章
AngularJS ngModel实现指令与输入直接的数据通信
这篇文章主要介绍了AngularJS ngModel实现指令与输入直接的数据通信的相关资料,需要的朋友可以参考下2016-09-09AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
这篇文章主要介绍了AngularJS使用ng-Cloak阻止初始化闪烁问题的方法,结合实例形式分析了AngularJS使用ng-Cloak来解决初始化时出现闪烁问题的相关技巧,需要的朋友可以参考下2016-11-11详解angular路由高亮之RouterLinkActive
这篇文章主要介绍了详解angular路由高亮之RouterLinkActive,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-04-04
最新评论