本文執行個體講述了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程式設計有所協助。