2014-07-07 69 views
0

我正在編寫我自己的倒計時計時器在Angular.js作爲一項服務。該值正確顯示在元素中,但不會倒計時。不知道我做錯了什麼,因爲我在服務中使用$interval(function(){ }, 1000);來導致摘要()並使其成爲打勾。Angular.js倒計時器不滴答

angular.module('monitorApp') 
.factory('countDown', function($interval) { 
    $interval(function(){ }, 1000); 
    return { 
     countDownTicker: function(secondsLeft) { 
      secondsLeft = Math.round(secondsLeft/1000); 
      return --secondsLeft; 
     } 
    } 
}); 

控制器:

$scope.countDownTicker = countDown.countDownTicker(result.broadcastStamp); 

HTML:

<span class="info-test">{{ countDownTicker }}</span> 

更新:全新的服務......仍然沒有工作:

angular.module('monitorApp') 
.factory('countDown', function($interval) { 
    $interval(function(){ }, 1000); 
    return { 
     countDownTicker: function(secondsLeft) { 
      return $interval(function(secondsLeft){ 
       secondsLeft = Math.round(secondsLeft/1000); 
       --secondsLeft; 
       }, 1000); 
     } 
    } 
}); 
+1

不從工廠返回間隔部分,實際上它沒有包裝任何東西。您需要該時間間隔才能完成更改 – charlietfl

+0

完成,但仍未勾選。 – dman

+0

在jsfiddle或plunker中創建演示 – charlietfl

回答

1

我認爲你是在使用$interval錯誤的方法。它返回一個承諾,每次迭代都會收到通知。

請參閱angularJS的doc中的代碼示例以供參考。

相關問題