2017-02-20 108 views
0

我写这样的代码:在响应中接收

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

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

的数据设置为$ scope.items。如果我再次运行此代码,是否会更改整个$ scope.items或者它只会监视新旧值之间的变化$ scope.items

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

+4

是的,它会改变整个'$ scope.items' – Satpal

+0

我怎么能重写这个东西?任何想法.. – gauravmehla

+0

你为什么使用'post'来获取数据?尝试使用get和缓存你的回应 –

回答

0

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

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

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