AngularJS:$ watchCollection不起作用;抛出错误

时间:2013-10-04 10:12:47

标签: javascript angularjs

我在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;
})')

我不知道问题可能是什么。我正在做文档所说的,除了我把它放在一个控制器中,但似乎这个代码是用于控制器的。那么这里的问题是什么?

1 个答案:

答案 0 :(得分:4)

您还可以使用以下语法:

$scope.$watch('myCollection', function(value, oldValue) {
    // insert awesome code here
}, true);

true参数告诉AngularJS“深度观察”该值。