在Angulajs的control中,不能利用 window.setInterval和 setTimeout 来操作定时器,因为这样做,虽然设置定时器会成功,但对$scope中的数据进行设置时,不会自动导致页面数据刷新。

要想数据刷新生效。 需要利用 Angulajs 自带的服务 $Interval, 代码如:

var timer = $interval(function(){

   //定时器调用的函数

}, 1000 , 10);

$interval 的第一个参数是回调函数,第二个参数是定时器的间隔,第三个参数是定时器执行的次数(如果不设置,则一直执行,如果设置为1,只执行一次)。

如果需要中止定时器,可以这样:

$interval.cancel(timer);

实际上这时要取消定时器用 window.clearInterval(timer) 也是可以的。

说明:$interval 要注入进去才能使用.

相关文章:

  • 2021-04-11
  • 2021-05-31
  • 2021-06-13
  • 2022-01-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-18
  • 2022-01-03
  • 2022-12-23
  • 2021-12-05
  • 2021-12-20
  • 2021-07-24
相关资源
相似解决方案