我有以下变量:
var $scope.abc = [{"a":22,"b":"x"},{"a":33,"b":"y"}];
是否可以对此进行监视并仅关注字段a
更改的值?
答案 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
其他方式,在所有对象$watch
上abc
并写下“深度”观看,例如:
$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
。