如何在我的应用程序中使用$$ hashKey?

时间:2016-09-26 13:15:33

标签: angularjs

如何在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。 该怎么办?

1 个答案:

答案 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会删除此类额外值。