我有这样的代码:
$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");
}
});
但我得到错误:
10 $digest() iterations reached. Aborting!
这是为什么?我怎么能解决这个问题呢? 请注意,这是我想要做的过度简化:)
答案 0 :(得分:2)
我想指出的一件事是,当您观察列表的更改时,应将第3个参数设置为true
。
$scope.$watch('flags', function (oldval, newval) {
if (oldval != newval) {
console.log("hello");
}
}, true);