【发布时间】:2016-10-19 08:56:01
【问题描述】:
例如,我有一个对象数组。
$scope.items = [
{id: 1, name: 'one'},
{id: 2, name: 'two'},
{id: 2, name: 'three'}
];
并且在模板中有类似的东西
<div ng-repeat="item in items">
<input type="text" ng-model="item.name" />
</div>
我想添加$watch 到这个like(用于跟踪输入的变化)
$scope.$watch('item', function(newVal){}, true);
如果我想在newVal 中拥有像{id: 1, name: 'one'} 这样的项目,我需要做什么?
不是对象数组! newVal 中只有一个更改的对象!
我无法在控制器中为数组的每个对象创建变量。
我尝试了类似的东西
for (var i = 0; i < $scope.items.length; i++) {
$scope.$watch('items[' + i = ']', function(newVal) {
console.log(newVal);
}, true);
}
但那错了。
【问题讨论】:
-
@Cerbus 为什么你认为其他问题是相似的?所有数组都有变化,我只需要更改数组中的对象。
标签: javascript angularjs angular