2015-04-20 163 views
-1

這是小plnkrAngularJS - 使用requestAnimationFrame(啓動/停止/啓動)

我只是想打印倒計時秒from 11 to 0then restart它完成時簡單的倒計時。

問題是它不會在html中打印秒也嘗試與$apply但我得到摘要錯誤。 同樣當重新開始倒計時我遇到了問題,秒沒有正確更新...

我怎樣才能實現這一點更容易?

任何幫助表示讚賞感謝

回答

1

在這裏你去

(function withAngular(angular) { 

'use strict'; 

angular.module('app', ['ngRoute']) 
.controller('Ctrl', function($scope, $window, $timeout) { 

    $scope.countSeconds = 11; 
    $scope.updateCountdown = function updateCountdown(ms) { 

    $timeout(function() { 

     if($scope.countSeconds === 0){ 
     $scope.countSeconds = 11; 
     } 
    else{$scope.countSeconds--; } 
    $scope.updateCountdown($scope.countSeconds); 
    }, 1000); 
    }; 



    $scope.updateCountdown(0); 



}); 
    }(angular)); 
+0

會過重於應用汽車無跑的?對於所有的用戶會話...特別是在移動... – sbaaaang

+0

有一個連續的計數器上的用戶界面將有一個開銷,無論實施。 –

1

問題出在​​。 Angular不知道應該綁定新的值,而且我不認爲這裏需要動畫框架。嘗試用$超時替換動畫幀,然後角將知道數據應重新綁定。 plnkr