【发布时间】:2016-05-20 12:04:02
【问题描述】:
我需要在表格视图中显示由单个 ajax 请求(无分页)返回的大约 1000 条记录。
由于行和列各有两个循环,因此渲染花费了太多时间(大约 10 秒)。
使用简单的方法,Ember 在这种情况下渲染视图的时间太长。请建议,在这种情况下我可以做些什么来提高性能。
{{#each column in columns}}
{{#each row in rows}}
Some content
{{/each}}
{{/each}}
我们将不胜感激。谢谢。
【问题讨论】:
-
您正在寻找的优化称为“延迟加载”,简而言之,渲染前 50 条记录,随着用户滚动,再渲染 50 条等,直到全部渲染完毕。
-
如果您避免使用外键并在服务器端为您构建数据,则可以更快地加载内容。因此,为了拥有 1000 条记录,您需要发出一个请求。 DS.attr('JSON')
-
@SebastienDaniel 我没有指定“分页”,我知道这听起来很愚蠢。但是,需要有关如何优化的建议。
-
你在哪里指定不分页?!您始终可以使用 ic.ajax 来检索与您的项目不同步的自定义查询(也是分页)。
-
@kristjanreinhold ,我在合理的时间内从服务器获取数据。我遇到的问题是客户端的渲染时间。
标签: html optimization ember.js