Javascript 已达到Angularjs 10$digest()迭代次数
我有这样的代码:Javascript 已达到Angularjs 10$digest()迭代次数,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我有这样的代码: $scope.flags = []; $scope.$watch('selectedFilter', function() { for (var i = 0; i < 2; i++) { $scope.flags.push(i); } }); $scope.$watch('flags', function(oldval, newval) {
$scope.flags = [];
$scope.$watch('selectedFilter', function() {
for (var i = 0; i < 2; i++) {
$scope.flags.push(i);
}
});
$scope.$watch('flags', function(oldval, newval) {
if (oldval != newval) {
console.log("hello");
}
});
为什么会这样?我怎样才能解决这个问题呢?
注意,这是我试图做的过于简单:)我想指出的一件事是,当您观察列表的更改时,您应该将第三个参数设置为
true
$scope.$watch('flags', function (oldval, newval) {
if (oldval != newval) {
console.log("hello");
}
}, true);
看一看:你能解释一下原因吗?@simonlchilds$watch的完整标志是$watch(watchFn,watchAction,deepWatch)。第三个参数deepWatch如果设置,则表示角度:检查对象中的每个属性是否有更改。
$scope.$watch('flags', function (oldval, newval) {
if (oldval != newval) {
console.log("hello");
}
}, true);