例如我有
$scope.array = [{ foo: 'bar'}, { foo: 'bar2'}]
我想看这个数组
$scope.array.pop(); //$watch is not called
$scope.array[0].foo = 'newbar'; //$watch is called
$scope.array = [{ foo: 'bar' }, { foo: 'anotherbar' }]; //$watch is not called
是否可以使用$ scope完成此操作。$ watch?
答案 0 :(得分:0)
您可以使用函数返回要监视的所需值:
$scope.$watch(function(scope) { return scope.array && scope.array[0].foo; }, function(newValue, oldValue) {
// any action here
}
);
如果你需要观察更多的itens,你可以返回另一个包含所有foo对象的数组。