我正在調用工廠服務來增加計數器值,並且當計數器值大於5時,我將再次調用手錶內的同一工廠服務。我正在使用手錶查看更改的計數器值。
我的問題是什麼時候計數器變得更大5它調用服務,但是當再次看到它調用工廠服務時,它停止調用服務,按照我應該進入無限循環嗎?因爲當工廠服務被稱爲計數器仍然大於5.
手錶在內部手錶被修改時是否停止檢查模態值?
Here是小提琴
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>
其工作正常。第一次計數器是6.然後手錶再次觸發計數器是6.價值是一樣的,所以手錶停止 –
好我現在編輯我的問題,儘管直接傳遞5我正在傳遞$範圍,計數器內表,現在它是callinng確切12次然後停止。 –
同樣的事情我正在檢查 –