この簡単なデモで無限の$ダイジェストループエラーが発生する理由を理解できません。私はofficial documentationのこれらのループについて読んだことがありますが、なぜこのデモがエラーを引き起こすのか分かりません。
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular.min.js"></script>
<script>
var TestApp = angular.module("TestApp", []);
TestApp.controller("TestCtrl", function ($scope) {
$scope.Counter = 0;
$scope.IncrementCounter = function() {
$scope.Counter+=1;
return true
}
});
</script>
<body ng-app='TestApp'>
<div ng-controller='TestCtrl'>
<label>
Number of times <code>$scope.IncrementCounter()</code>
has been invoked: {{ Counter }}
</label>
<input type="hidden" value="{{ IncrementCounter() === true }}" />
</div>
</body>
モデル全体がダイジェスト・サイクルを通過させることなく、$scope
関数内から$scope
変数をインクリメントする方法はありませんか?
監督部。ブール値を返すように修正しましたが、それは無関係の問題でした。問題は依然として続きます。 –
@AlonEitanスタックオーバーフローのガイドラインに示されているように、ダウンボートの代わりに(もしそうでなければ、心配しなければ)、私は批判や解決策を理解するだろう。 –
私はdownvoted私ではなかったことを証明するためにupvoted - 角度式で関数を呼び出すことを避けてください、これをデバッグする - '{{IncrementCounter()=== true}}'部分を削除し、まだエラーが発生します –