2014-07-07 2 views
0

나는 내 자신의 카운트 다운 타이머 티커를 Angular.js에 서비스로 작성하고 있습니다. 값은 요소에 올바르게 표시되지만 카운트 다운되지는 않습니다. 서비스에 $interval(function(){ }, 1000);이있어 다이제스트()가 발생하고 틱하게 만들었 기 때문에 내가 무엇을 잘못하고 있는지 확신 할 수 없습니다.Angular.js Counting Timer not Ticking

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> 

UPDATE : 새 서비스 ... 여전히 작동하지 :

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을 참조하십시오.