参见英文答案 >
Watch multiple $scope attributes10个答案在AngularJS中有没有办法把这个结合到一个$手表中,或者我仍然需要每个手表的$手表?
$scope.$watch('option.selectedContentType',function () { $scope.getData(); }); $scope.$watch('option.selectedContentStatus',function () { $scope.getData(); });
您可以在下面找到有关如何使用$ watchCollection的一些变体
原文链接:https://www.f2er.com/angularjs/144582.htmlhttp://jsbin.com/IYofiPi/4 – working 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',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.