我是angularjs
的新手。在此代码段中,我有一个类似于-
$scope.jsonData = [{
annotationType: "Full Name:"
endOffset: "17"
startOffset: "0"
type: "FullName"
value: "A"
},
{
annotationType: "Email:"
endOffset: "188"
startOffset: "133"
type: "FullName"
value: "B"
}
]
现在,我在这里使用手表。
$scope.$watch('jsonData', function(newVal, oldVal) {
console.log("Value changed==>", newVal);
}, true);
现在,我的jsonData可能会经常更新,它可能会添加元素或删除。因此,我将从本表中了解如何添加或删除了哪个元素,或者更新了哪个元素的值?而且,如果添加了新值,那么该值或该值的索引是什么?
提前致谢。
最佳答案
我不确定,但是您可以执行以下操作:
newObjects = newVal.filter(new => !oldVal.some(new => JSON.stringify(new) == JSON.stringify(old)) )
removedObjects = oldVal.filter(old => !newVal.some(new => JSON.stringify(new) == JSON.stringify(old)) )
关于javascript - $ watch如何获取数组中已更改的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49798290/