angularJS如何更新$ scope数据

时间:2017-02-20 09:21:59

标签: javascript angularjs

我写了这样的代码:

$http.post('/getUserInfo', Obj)

            .then(function(response) {
                //console.log(response.data);
                $scope.items = response.data;
            });

响应中收到的数据设置为 $ scope.items 。如果我再次运行此代码,它是否会更改整个 $ scope.items ,或者它只会观察 $ scope.items 的旧值和旧值之间的变化?

假设 response.data 包含大量数据。

1 个答案:

答案 0 :(得分:0)

假设您担心因为使用ng-repeat迭代数据,您需要做的是使用track by参数中的ng-repeat来指定一些会告诉角度的条件特定元素不变。然后它将该元素与旧数组中的元素匹配,并避免重构元素的html。

<div ng-repeat="item in items track by item.uniqueid">
   ... content here ...
</div>

并确保uniqueid属性在数据保持不变时保持不变,但如果更新元素的内容则会更改。例如,您可以将用户的ID与上次更新的日期和时间组合在一起,以提供适当的唯一值。