我调用一个工厂服务来增加计数器值,当计数器值大于5时,我再次调用手表内的同一个工厂服务。我正在使用手表来查看已改变的计数器值。
我的问题是,当计数器变得更大时,它调用服务,但是当它再次在内部看到它调用工厂服务时,它停止了调用服务,对我来说,它应该是无限循环的,对吗?因为当调用工厂服务时,计数器仍然大于5。
在手表内部修改时,手表是否停止检查模态值?
这里是最爱的人
JS码
var app = angular.module('myApp', []);
app.factory('testFactory', function(){
return {
incrementCount:function(a){
a++;
console.log('called service'+a)
return a;
}
}
});
function HelloCtrl($scope, testFactory)
{
$scope.counter = testFactory.incrementCount(5);
$scope.$watch('counter', function (newValue, oldValue) {
if($scope.counter > 5){
$scope.counter = testFactory.incrementCount($scope.counter);
}
});
}html代码
<div ng-controller="HelloCtrl">
<p>{{counter}}</p>
</div>发布于 2016-12-15 10:03:41
因为你的情况$scope.counter > 5 // === false
你可以把它做成$scope.counter >= 5或者我建议一种新的方法
检查这个链接
https://stackoverflow.com/questions/41160737
复制相似问题