2015-04-20 118 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