我可以只在Angular JS中的一个对象数组中看到一个变量吗?

时间:2013-11-17 07:53:14

标签: javascript arrays angularjs

我有以下变量:

var $scope.abc = [{"a":22,"b":"x"},{"a":33,"b":"y"}];

是否可以对此进行监视并仅关注字段a更改的值?

1 个答案:

答案 0 :(得分:2)

  

是否可以对此进行监视并仅关注字段值的变化

不确定

如果您只想观看值a,可以定义ng-change(假设a是输入)输入a

HTML

<div ng-controller="Controller">
   <div ng-repeat="val in abc">
     <input type='text' ng-model='val.a' ng-change="onAChange(val.a)">
     <input type='text' ng-model='val.b'>
  </div>
 </div>

JS

$scope.onAChange = function(mod){
  console.log(mod);
};

演示1 Plunker

其他方式,在所有对象$watchabc并写下“深度”观看,例如:

     $scope.$watch(function () {
       return $scope.abc[0].a;
     },
     function (newValue, oldValue) {
     if(newValue == oldValue){return;}

        console.log(newValue, oldValue);

     }, true);

演示2 Plunker

作为旁注:

var之前您不需要$scope.abc