你如何在AngularJS中使用$ watchCollection多个属性?

时间:2016-03-18 04:31:23

标签: angularjs angularjs-scope

就像你可以$watchGroup$watch多个属性一样,有没有办法对$watchCollection之类的$watchCollectionGroup做类似的事情?

我不希望$watch深度使用第三个参数,但只有一个级别深度使用多个属性。

1 个答案:

答案 0 :(得分:2)

我已经完成了有角度的文档,但没有这样的方法可用,但是我找到了一种方法,可以在单个watchCollection方法中实现,它只是我写的一个临时方法,看看下面的代码。

Here is a working plunkr

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.variable = {
    num: 0,
    num1:2
  }
    $scope.variable1 = {
      num:1,
      num1: 0
  }
  $scope.fun = function(){
    $scope.variable.num++;
  }

   $scope.fun1 = function(){
    $scope.variable1.num1++;
  }

  $scope.$watchCollection(function(){
    var obj = {
      1:$scope.variable.num,
      2:$scope.variable1.num1
    }
    return obj;
  },function(n,o){
    alert(JSON.stringify(n))
  })

});