AngularJS实现定时刷新

有时我们在前端可能会有这样的需求:

  • 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);
});`

你可能感兴趣的:(angularjs)