有時(shí)我們在前端可能會(huì)有這樣的需求:
1、每隔一段時(shí)間刷新一下頁面中的數(shù)據(jù)
2、根據(jù)需要可以暫停和啟用刷新
接下來我們就來看下AngularJS的實(shí)現(xiàn)方法:
首先我們了解到AngularJS中$interval可以用來處理間歇性處理一些事情,那么我們的間歇性刷新就使用interval來實(shí)現(xiàn)。
$interval使用方法:
1、啟動(dòng)一個(gè)定時(shí)任務(wù)
$interval(function(){},n1,n2);第一個(gè)參數(shù)function是指我們的定時(shí)任務(wù)要觸發(fā)的事件,
第二個(gè)參數(shù)n1是指每隔多少毫秒觸發(fā)一次
第三個(gè)參數(shù)n2是指定時(shí)觸發(fā)事件的次數(shù),無限次循環(huán),則可以設(shè)置為-1。
如:
$interval(function(){console.log('aaa');},1000,10); 表示每個(gè)1秒在控制臺(tái)打出一次aaa,共打印10次
2、停止一個(gè)任務(wù)
$interval.cancel(timer);
timer為任務(wù)對象
如:
var timer = $interval(function(){console.log('aaa');},1000,10); $interval.cancel(timer);在使用過程中我們發(fā)現(xiàn)如果只使用了$interval(function(){},n1,n2); 關(guān)閉頁面后,瀏覽器仍然后執(zhí)行相應(yīng)的任務(wù),如果不希望繼續(xù)執(zhí)行,即頁面當(dāng)前頁面關(guān)閉,自動(dòng)任務(wù)立即停止,則可以使用:
$scope.$on('$destroy',function(){ $interval.cancel(timer);});以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注