AngularJS:$watchCollection不起作用;引发错误

AngularJS: $watchCollection does not work; throws error

本文关键字:错误 不起作用 watchCollection AngularJS      更新时间:2023-09-26

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

我不知道问题可能是什么。我正在完全按照文档所说的去做,除了我把它放在控制器中,但似乎这段代码旨在用于控制器。那么这里有什么问题呢?

您还可以使用以下语法:

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

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