有时我们在前端可能会有这样的需求:
1、每隔一段时间刷新一下页面中的数据
2、根据需要可以暂停和启用刷新
接下来我们就来看下AngularJS的实现方法:
首先我们了解到AngularJS中$interval可以用来处理间歇性处理一些事情,那么我们的间歇性刷新就使用interval来实现。
$interval使用方法:
1、启动一个定时任务
$interval(function(){},n1,n2);
第一个参数function是指我们的定时任务要触发的事件,
第二个参数n1是指每隔多少毫秒触发一次
第三个参数n2是指定时触发事件的次数,无限次循环,则可以设置为-1。
如:
$interval(function(){console.log('aaa');},1000,10);
表示每个1秒在控制台打出一次aaa,共打印10次
2、停止一个任务
$interval.cancel(timer);
timer为任务对象
如:
var timer = $interval(function(){console.log('aaa');},1000,10); $interval.cancel(timer);
在使用过程中我们发现如果只使用了$interval(function(){},n1,n2); 关闭页面后,浏览器仍然后执行相应的任务,如果不希望继续执行,即页面当前页面关闭,自动任务立即停止,则可以使用:
$scope.$on('$destroy',function(){ $interval.cancel(timer); });