2013-12-12 3 views
1

잠시 후 숨기려고하는 경고 메시지가 있습니다. 나는 $ timeout을 사용하고 잘 작동한다. 그러나이 경고 상자의 하단에 작은 수평 카운트 다운 (일명 진행률) 표시 줄을 추가하여 사용자에게 시간이 부족하다는 것을 알려주고 싶습니다.

AngularJS $ timeout은 실행 시간을 확인할 수있는 방법이 없습니다. 이 경우 진행률 막대를 어떻게 업데이트해야합니까?

나는 당신은 카운터 범위 변수를 매 초마다 실행하고 업데이트 할 $interval를 사용한다이

$timeout(function(){ 
    $scope.m.hideAlertMessage = true; 
}, 10000) 

답변

5

같은 $ 제한 시간을 사용하고 10에 도달 할 때 간격을 죽이고 당신이 원하는 무엇이든 할 수 있습니다 할 것.

예.

$scope.counter = 0; 
$interval(function() { 
    $scope.counter++; 
    if($scope.counter == 10) { 
     // Do whatever you wanted 
    } 
}, 1000, 10); 

세 번째 인수 인 $interval은 실행할 횟수입니다.

기본적으로 이것은 $scope.$apply()의 반복으로 실행되므로 $scope.counter의 변경 사항은 사용자의보기에 즉시 표시됩니다.