0

我在 AngularJS 中遇到了一个$scope.$watchCollection()引发错误的问题。我已经将我的代码减少到与文档中的示例代码完全相同的程度(http://docs.angularjs.org/api/ng.$ro ​​otScope.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;
})')

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

4

1 回答 1

5

您还可以使用以下语法:

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

true参数告诉 AngularJS 去“deepwatch”这个值。

于 2013-10-04T13:41:05.483 回答