更换整个数组的ngrepeat很慢

时间:2015-03-28 20:59:40

标签: angularjs performance angularjs-ng-repeat

我试图替换支持我的ng-repeat的数组内容(执行搜索查询和更新列表),并且我注意到更新的性能非常慢。在尝试对此进行问题排查时,我发现了track by,但使用它仍然无法解决问题。

我看到了什么:

  1. 以包含25个左右项目(图像)的ng-repeat开始
  2. 通过查询服务器(几毫秒)获取新的数据列表
  3. 更新数组,将其设置为包含新内容(几毫秒)的数组
  4. (几百毫秒过去)页面更新
  5. 我尝试过的事情没有成功:

    1. 尝试使用track by
      • 如果列表中已有任何项目,那么这些项目的更新快速,但我仍需要等待几百毫秒才能更新
    2. 更新列表并立即触发$scope.$apply()来电
      • 没有效果,因为它已经开始了摘要周期
    3. 首先设置一个空数组$scope.$apply(),然后设置新列表
      • 同样缓慢更新
    4. 列表的初始呈现非常快,即使我用单个元素替换它,改变整个列表也只是一个缓慢的操作。我知道我并不是第一个遇到这个问题的人,但是我无法找到合适的谷歌咒语来解决所有track by个答案,所以我可以解决这个问题。

0 个答案:

没有答案