我在AngularJS中遇到问题$scope.$watchCollection()
引发错误。我已将代码缩减到与文档(http://docs.angularjs.org/api/ng。$ rootScope.Scope#$ watchCollection)中的示例代码完全相同的程度,并且仍然抛出错误:
function OverviewCtrl($scope) {
$scope.names = ['igor', 'matias', 'misko', 'james'];
$scope.dataCount = 4;
$scope.$watchCollection('names', function(newNames, oldNames) {
$scope.dataCount = newNames.length;
});
}
我收到错误
'undefined' is not a function (evaluating '$scope.$watchCollection('names', function(newNames, oldNames) {
$scope.dataCount = newNames.length;
})')
我不知道问题可能是什么。我正在做文档所说的,除了我把它放在一个控制器中,但似乎这个代码是用于控制器的。那么这里的问题是什么?
答案 0 :(得分:4)
您还可以使用以下语法:
$scope.$watch('myCollection', function(value, oldValue) {
// insert awesome code here
}, true);
true
参数告诉AngularJS“深度观察”该值。