我从服务器获得一些看起来像这样的对象:
{
"id": 1",
"name": "Jim"
}
我在$scope.myThings
投掷它们,在我的应用中修改它们,添加一些字段,它们最终看起来像这样:
{
"id": 1",
"name": "Jim",
"favoriteFood": "Noodles"
}
也许我从服务器获得更新,改变了吉姆的名字。我想获取从服务器返回的对象数组,并将其更改应用于$ scope中的列表,而不必完全替换列表(即:$scope.myThings = newData)
或必须迭代比较ID。
有没有办法做到这一点?
答案 0 :(得分:0)
您可以使用angular.merge。
它正在使用对象和数组。
<强>使用强>
angular.merge(dst, src);
dst
对象目标对象。
src
对象源对象。
例如:
var a = [{x:4}]; var b=[{x:2,y:3}]; angular.merge(a,b);
<强>结果:强>
a=[{x: 2,y: 3}]
var a = [{x:4}]; var b=[{x:2,y:3}]; angular.merge(b,a);
<强>结果:强>
b=[{x: 4,y: 3}]