2013-12-12 79 views
1

我有一段時間後想要隱藏的警告消息。我使用$超時,它運作良好。但是,我想在此警報框底部添加一個小橫向倒計時(又名進度)欄,以讓用戶知道他們的時間已用盡。

AngularJS $ timeout似乎沒有任何方法可以確定它運行的時間。在這種情況下,我應該如何更新我的進度條?

我使用$超時這樣

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

回答

5

您應該使用$interval到每秒運行和更新計數器範圍變量,當它到達10,你可以殺死的間隔,做任何你想要的去做。

E.g.

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

$interval的第三個參數是要運行的次數。

請注意,默認情況下,這是在$scope.$apply()的迭代中運行的,因此在您的視圖中立即可以看到對$scope.counter的更改。