如何在app中使用$$ hashKey。 情况如下: 我调用服务器来接收对象数组,而不是将数组传递给ng-repeat:
function listWorkItems(data) {
if (data.ok) {
vm.workItems = data.content.items;
}
}
每秒我都会调用服务器,并想检查收到的数组(data.content.items)是否与DOM中列出的不同(vm.workItems);
检查我使用:
for(var i=0; i<data.content.items.length; i++) {
if(JSON.stringify(data.content.items[i]) !== JSON.stringify(vm.workItems[i])) {
vm.workItems[i] = data.content.items[i];
}
}
但我总是接受不相等,因为在vm.workItems中有$$ hashkey。 该怎么办?
答案 0 :(得分:1)
使用,angular.toJson
代替JSON.stringify
并尝试使用。
(var i=0; i<data.content.items.length; i++) {
console.log(angular.toJson(data.content.items[i]))
console.log(angular.toJson(vm.workItems[i]))
if(angular.toJson(data.content.items[i]) !== angular.toJson(vm.workItems[i])) {
vm.workItems[i] = data.content.items[i];
}
使用angular.toJson
,angular会删除此类额外值。