在angular中周期性地调用一个函数



我有一个显示背景图像和文本消息的角控制器。控制器为:

var myArchiveController = function($scope) {
     var setBackground = function() {
         $scope.backgroundUrl = someUrlFromService;
         $scope.backgroundMessage = someMessageFromService;
     }
     setBackground();
}
app.controller("myController", myController);

如何周期性地调用setBackground()函数,例如每分钟调用一次?

使用angular $interval服务:

var myArchiveController = function($scope, $interval) {
    var setBackground = function() {
        $scope.backgroundUrl = someUrlFromService;
        $scope.backgroundMessage = someMessageFromService;
    }
    $scope.intervalIstance = $interval(setBackground, 60000);
} 

任意停止,使用$interval.cancel.

$interval.cancel($scope.intervalIstance);

下面应该可以帮你。

setInterval(setBackground, 60000);

或其他,以及首选的方法,是使用angular的$interval服务- $interval(setBackground, 60000);

您需要将间隔服务($interval)注入控制器,然后代码将如下所示:

var myArchiveController = function($scope, $interval) {
   //code here
    $interval(setBackground, 60000);
}

最新更新