我不知道为什么$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>
答案 0 :(得分:1)
如果你想让它们一起使用,你需要一块手表:
$scope.$watch('countDown', function(newVal) {
$scope.result = newVal;
});
$scope.result = $scope.countDown;
只为result
提供当前值countDown
的一次性值。它就像任何其他变量一样。例如,var a = 'abc';
您不希望更新,对吧?它只是将变量设置为值。
答案 1 :(得分:0)
它没有更新,因为您没有更新它。
就这样做:
var timer = setInterval(function(){
$scope.countDown--;
$scope.result = $scope.countDown;
$scope.$apply();
}, 1000);