使用AngularJS可以将多个场景观看在一个表中吗?

参见英文答案 > Watch multiple $scope attributes                                    10个答案                                在AngularJS中有没有办法把这个结合到一个$手表中,或者我仍然需要每个手表的$手表?

    $scope.$watch('option.selectedContentType', function () {
        $scope.getData();
    });

    $scope.$watch('option.selectedContentStatus', function () {
        $scope.getData();
    });
您可以在下面找到有关如何使用$ watchCollection的一些变体

http://jsbin.com/IYofiPi/4working example here

检查您的console.log以查看正在触发的事件。

观看数组的项目

$scope.cities = ['Salvador', 'London', 'Zurich', 'Rio de Janeiro']; //Array

$scope.$watchCollection('cities', function(newValues, oldValues) {
  console.log('*** Watched has been fired. ***');
  console.log('New Names :', newValues);
});

观察对象的属性

$scope.city = {
  name: 'London',
  country: 'England',
  population: 8.174
}

$scope.$watchCollection('city', function(newValues, oldValues) {
  console.log('*** Watched has been fired. ***');
  console.log('New Names :', newValues);
});

查看范围变量列表($ scope.firstPlanet,$ scope.secondPlanet)

$scope.firstPlanet = 'Earth';
$scope.secondPlanet = 'Mars';

$scope.$watchCollection('[firstPlanet, secondPlanet]', function(newValues){
  console.log('*** Watched has been fired. ***');
  console.log('New Planets :', newValues[0], newValues[1]);
});

Starting from AngularJS 1.3 there’s a new method called 07002 for observing a set of expressions.

翻译自:https://stackoverflow.com/questions/17872919/can-i-combine-watching-of-multiple-fields-into-one-watch-with-angularjs

转载注明原文:使用AngularJS可以将多个场景观看在一个表中吗?