Ember.js如何在不锁定浏览器的情况下渲染大型列表

3

当涉及在客户端渲染大量项目时,使用Ember.js有哪些选项? 分页是减少渲染时间的明显方法,但是否有其他技巧可以让您在JavaScript执行时渲染大量项目而不会出现明显的浏览器冻结?


2
我的850个项目加载速度很慢,即使我使用比平均水平更高的硬件运行Chrome。我本来期望它会很快。 - Stephan
2
我从Github上更新了我的Ember.js,现在速度大大提高了,我的版本可能是6个月前的旧版本,期间发生了很多变化。 - Stephan
浏览器的卡顿主要是由于渲染引起的。 - Stephan
EmberJs在0.9.8版本中仍然存在严重的速度问题。渲染一个大型列表需要比使用knockout或backbone多3-5倍的时间。目前除了监控速度改进之外,我们没有太多可以做的。 - AlexG
1
请查看 https://github.com/emberjs/list-view - Christopher Manning
显示剩余2条评论
2个回答

2

ember-list-view 用于列表

ember-table 用于表格

我尝试了许多不同的方式来渲染列表和模板,但都无济于事,希望这能帮助到有需要的人。


0

当渲染大型列表时,我发现了类似的性能问题。

我的用例是渲染日志条目。最终我使用了jQuery并直接编写到DOM中。

这里有一个帖子介绍我是如何做到的,这里是代码

长话短说,我获取50条记录并将它们呈现在屏幕上。在屏幕底部,我有一个显示更多按钮。如果用户点击此按钮,则会将下一个50个附加到列表底部。

请注意,我的记录是只读的。如果我必须执行CRUD操作,我将恢复使用分页集合。集合提供绑定支持,因此当用户编辑记录时,列表中的字段将自动更新。这里有一个帖子关于CRUD操作。

我的代码仍在使用Sproutcore 2,在其改名为EmberJS之前。我认为你会发现大多数API都是相同的 - 只需要改变命名空间。

希望这可以帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接