2014-02-05 59 views
0

我有一個簡單的控制器,旨在做一個簡單的倒計時。

當我運行這段代碼時,我得到的只是控制檯中的一個「tick」。我期望每5毫秒一次。

.controller('Countdown', function($scope, $timeout){ 
    $scope.endtime = new Date('May 5, 2014 00:00:00'); 
    var countup = function() { 
     $scope.currtime = new Date(); 
     $scope.timeleft = $scope.endtime-$scope.currtime; 
     console.log('tick'); 
    }; 
    $timeout(countup, 5); 
}); 
+0

$間隔做這個 – michael

回答

3

正如邁克爾說,你應該使用$間隔

或者,你可以這樣做。

.controller('Countdown', function($scope, $timeout){ 
    $scope.endtime = new Date('May 5, 2014 00:00:00'); 
    var countup = function() { 
     $scope.currtime = new Date(); 
     $scope.timeleft = $scope.endtime-$scope.currtime; 
     console.log('tick'); 
     $timeout(countup, 5); // Recursive technique 
    }; 

}); 
+0

http://docs.angularjs.org/api/ng.$interval – kornfridge

+0

偉大的作品,一張小紙條給未來的互聯網旅客的是,它並沒有在舊版本的工作角! – Himmators

1

$timeout是setTimeout的包裝,你想要什麼是設置間隔

相關問題