javascript - 使用 Ember.js 平滑地渲染大型列表的一部分

标签 javascript ember.js

我正在寻找一种方法来平滑地呈现列表的大部分“部分”。 现在这个列表很大,有 1.000 个项目。(测试集)我发现这个列表的渲染花费的时间最多。不是我正在做的排序和过滤。 当我一次呈现/查看整个列表时,浏览器会锁定直到完成。

我可以做些什么来加快渲染速度?

我应该使用分页吗?有没有一种方法可以平滑地滚动列表,并且只渲染可见的列表部分。我应该听什么事件?示例代码?

最佳答案

我想发表评论而不是回答,但我没有相应的代表(这似乎是倒退的)。无论如何,

首先,定义“大”列表。多少行?

其次,定义“呈现”。您是否只需要尽可能快地吐出 HTML,还是需要生成数据绑定(bind) View ?

根据我的经验,生成 HTML 的最快方法是将字符串推送到数组,例如

var s=""; 
s.push("<table.."); 
$(body).append(s.join("")). 

因此,如果您想要获得最佳性能,这就是您要走的路。您可以通过简单地重写 render() 方法将此技术用于 ember View 。当然,你失去了数据绑定(bind),这是 ember 最酷的部分。如果您需要数据绑定(bind),但只在几个字段上,您可以通过使用 unbound helper 关闭不需要的数据绑定(bind)来将性能提高到令人满意的水平:

{{unbound myfield}}

关于javascript - 使用 Ember.js 平滑地渲染大型列表的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9095501/

相关文章:

javascript - 如何在服务器端渲染中正确使用带有 ant design 库的 next js?

javascript - 学习 Ember.js- 多对多关系中的持久化

javascript - 如何分离主干/ Ember 组件?

ember.js - 使用 Ember CLI 和 ES6 语法 `export default` 我如何知道导出是否是 Ember.Object

用于 session 管理的 Ember.js StateManager

javascript - Ember.js:如何为这个例子建模?

c# - 单击 jquery 确认按钮后处理 mvc 操作

javascript - 是否有任何 jQuery 插件可以使任何计算机上的表单元素看起来像 mac 表单元素?

javascript - 如何使用子字符串查询 firebase 键

javascript - 如何在替换图像时使用 AJAX 刷新 DIV?