本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答