AngularJS定時器的使用與移除操作方法【interval與timeout】
本文實例講述了AngularJS定時器的使用與移除操作方法。分享給大家供大家參考,具體如下:
1.相比較于JS中setTimeInterval和setTimeout,AngularJS中通過interval來實現(xiàn)定時器的效果,通過timeout來實現(xiàn)時間延遲。
$timeout //實現(xiàn)的是延遲執(zhí)行 $interval //實現(xiàn)的是定時器的效果
我們分別來看這兩個服務
(1)timeout
timeout相當于JS原生里面的延遲執(zhí)行,不同的是該服務的函數(shù)返回的是一個promise對象。
var timer=$timeout(function(){
console.log('hello world')
},2000); //該函數(shù)延遲2秒執(zhí)行
timer.then(function(){ console.log('創(chuàng)建成功')},
function(){ console.log('創(chuàng)建不成功')};
(2)interval
interval與timeout服務大同小異,創(chuàng)建定時器返回的也是一個promise對象。
var timer=$interval(function(){
console.log('hello world')
},2000); //間隔2秒定時執(zhí)行
timer.then(function(){ console.log('創(chuàng)建成功')},
function(){ console.log('創(chuàng)建不成功')};
2.如何移除定時器
在angularJSo中,特別是在頁面切換或者說是路由切換的時候,我們需要移除響應的定時器,我們可以通過on方法,監(jiān)聽路由切換時間。當DOM結(jié)構(gòu)發(fā)生變化時,會執(zhí)行on方法:
$scope.$on('destroy',function(){
$interval.cancel($scope.timer);
}) //在控制器里,添加$on函數(shù)
更多關于AngularJS相關內(nèi)容感興趣的讀者可查看本站專題:《AngularJS入門與進階教程》及《AngularJS MVC架構(gòu)總結(jié)》
希望本文所述對大家AngularJS程序設計有所幫助。
相關文章
AngularJs Understanding Angular Templates
本文主要介紹AngularJs Understanding Angular Templates的資料,這里整理了詳細的資料及簡單示例代碼,有興趣的小伙伴的參考下2016-09-09
AngularJS基礎 ng-selected 指令簡單示例
本文主要介紹AngularJS ng-selected 指令,這里對ng-selected 指令的基礎資料做了詳細介紹,并附有示例代碼,有需要的小伙伴可以參考下2016-08-08
AngularJs導出數(shù)據(jù)到Excel的示例代碼
本篇文章主要介紹了AngularJs導出Excel的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08

