2014-01-22 15 views
0

我不知道爲什麼$scope.result不更新時$scope.countDown更改以及如何解決它?請幫幫忙,謝謝

SCRIPT:

angular.module('mean.system').controller('HeaderController', ['$scope', 'Global', '$timeout', '$http', '$location', function ($scope, Global, $timeout, $http, $location) { 

     $scope.countDown = 10; 
     $scope.result = $scope.countDown; 
     var timer = setInterval(function(){ 
      $scope.countDown--; 
      $scope.$apply(); 
     }, 1000); 

     console.log($scope.result); 

    }]); 

HTML:

<section data-ng-controller="HeaderController"> 
    <div> my time: {{result}} </div> 
    <div> your time: {{countDown}} </div> 
</section> 

回答

1

,如果你想讓他們一起UDPATE你需要一塊手錶:

$scope.$watch('countDown', function(newVal) { 
    $scope.result = newVal; 
}); 

$scope.result = $scope.countDown;只是給result當前值爲countDown的一次性值。這就像其他任何變量一樣。例如,var a = 'abc';您不會期望更新,對嗎?它只是將一個變量設置爲一個值。

+0

如此之大!感謝@ M59 – user3044147

0

它不更新,因爲您不更新它。

只要做到這一點:

var timer = setInterval(function(){ 
     $scope.countDown--; 
     $scope.result = $scope.countDown; 
     $scope.$apply(); 
    }, 1000);