我写了这样的代码:
$http.post('/getUserInfo', Obj)
.then(function(response) {
//console.log(response.data);
$scope.items = response.data;
});
响应中收到的数据设置为 $ scope.items 。如果我再次运行此代码,它是否会更改整个 $ scope.items ,或者它只会观察 $ scope.items 的旧值和旧值之间的变化?
假设 response.data 包含大量数据。
答案 0 :(得分:0)
假设您担心因为使用ng-repeat
迭代数据,您需要做的是使用track by
参数中的ng-repeat
来指定一些会告诉角度的条件特定元素不变。然后它将该元素与旧数组中的元素匹配,并避免重构元素的html。
<div ng-repeat="item in items track by item.uniqueid">
... content here ...
</div>
并确保uniqueid
属性在数据保持不变时保持不变,但如果更新元素的内容则会更改。例如,您可以将用户的ID与上次更新的日期和时间组合在一起,以提供适当的唯一值。