在angularjs中深入查看集合时获取索引
我有以下代码:在angularjs中深入查看集合时获取索引,angularjs,Angularjs,我有以下代码: $scope.$watch('myData', function (newValue, oldValue) { console.log('oldValue=' + oldValue); console.log('newValue=' + newValue); //do something }, true); 当我更新myData集合内的属性时,它执行得很好,但在newValue和oldValue中,我得到了集合。是否有办法
$scope.$watch('myData', function (newValue, oldValue) {
console.log('oldValue=' + oldValue);
console.log('newValue=' + newValue);
//do something
}, true);
当我更新myData集合内的属性时,它执行得很好,但在newValue和oldValue中,我得到了集合。是否有办法更改项目的索引?如果由于您收藏的所有项目都已删除而触发了
$watch
,该怎么办?在这种情况下,您希望得到什么索引
或者,如果由于拼接
在同一操作中删除一些项目并添加一些其他项目而触发,该怎么办
或者,如果由于集合中的多个项发生了更改而触发了它,该怎么办
我想解释的是,当你在一个对象数组上有一个深度$watch
时,$watch
可能会因为许多不同的原因被触发,在你的问题中,你似乎假设watch
会被触发,因为一个项目发生了变化,这不一定是真的,许多其他事情本可以改变
您可以使用$watch
函数的参数中提供给您的newValue和oldValue来计算已发生的更改,这样,如果更改是其中一个项目已更改,您将能够找到它是哪一个以及它的索引是什么