2016-08-24 62 views
3

我有一個可以顯示背景圖像和文本消息的角度控制器。控制器是:以角度定期調用函數

var myArchiveController = function($scope) { 

    var setBackground = function() { 
     $scope.backgroundUrl = someUrlFromService; 
     $scope.backgroundMessage = someMessageFromService; 
    } 

    setBackground(); 
} 

app.controller("myController", myController); 

如何定期調用setBackground()功能,例如每一分鐘?

+0

用''interval'](https://docs.angularjs.org/api/ng/service/$interval)包裝'setBackground' – deostroll

回答

5

使用角$ 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); 

不要忘記在你的依賴中包含$ interval。

2

下面應該爲你做。

setInterval(setBackground, 60000); 

否則,並且優選方法,是用角度的$interval服務 - $interval(setBackground, 60000);

你將需要注入的時間間隔服務($interval)到控制器,然後該代碼將作爲如下:

var myArchiveController = function($scope, $interval) { 

    //code here 

    $interval(setBackground, 60000); 
}