Angular表的缓慢渲染,包含1,000行和5,000个输入

时间:2015-10-04 18:55:48

标签: javascript mysql angularjs angularjs-ng-repeat

我正在显示一个Angular表,每行约有1,000行和5个输入(总共5,000个输入字段)。它是一个标准的Angular表,其行为ng-repeat。

数据会快速下载到客户端。但是 - 问题是角度渲染很慢。

在MacBook Pro上,加载需要10秒钟。在Chromebook上,它需要40秒以上。

我正在寻找一种懒惰的RENDER方式。我相信很多人都有这个问题 - 有人能指出我可能的解决方案吗?

2 个答案:

答案 0 :(得分:2)

  1. 使用分页
  2. 仅使用编辑模板和编辑按钮
  3. 每行添加输入
  4. 用户$ compileProvider.debugInfoEnabled(false)删除调试类
  5. 通过添加"跟踪"
  6. ,尝试使用您商品的ID
  7. 如果您有只读过的值,请使用绑定{{::property}}
  8. 如果您有多个表单字段,请尝试ng-model-options="{ debounce: 250 }
  9. 尽可能使用ng-if代替ng-show以避免添加许多未显示的内容
  10. 将limitTo与ng-repeat一起使用以限制显示的项目数
  11. 使用chrome dev工具栏时间轴识别功能中的瓶颈
  12. One of many good resources on our lovely web

    And another one

答案 1 :(得分:2)

因为问题在于渲染,您可以使用过滤器来限制ng-repeat返回的字段数。然后只是对额外的行进行分页。