[英]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.