繁体   English   中英

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

[英]Can I watch just one variable changing inside an array of objects in Angular JS?

我有以下变量:

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

是否有可能做这一块手表和观看现场的只是价值a变化?

是否可以对此进行观察,并注意变化的领域的价值

当然。

如果您只想观看值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

换句话说,要$watch所有对象abc并写下“深度”手表,例如:

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

        console.log(newValue, oldValue);

     }, true);

演示2 Plunker

作为旁注:

$scope.abc之前不需要var

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM