【发布时间】:2012-12-06 13:43:49
【问题描述】:
我有一个 Ember 应用程序,它呈现一个大约 200-300 行的表格。我尝试实现类似 Tablesorter 的功能,但遇到了非常糟糕的性能。
应用程序相关部分的概述如下:有一个对象集合,ArrayController 和CollectionView。 CollectionView#content 绑定到 ArrayController#arrangedContent 并通过设置 ArrayController#sortProperties 属性完成排序。
为方便起见,我设置了一个 JS fiddle:http://jsfiddle.net/496tT/1/。在 JS 控制台的 Chrome 中,您可以看到原始排序大约需要 5 毫秒,而表格排序大约需要 1000 毫秒。
在我当前的实现中,当 arrangedContent 更新时,Ember 会重新呈现所有视图。我想可以通过在CollectionView 中对 item views 进行排序来加快排序,从而以正确的顺序有效地将视图重新附加到 DOM。但我不知道如何在 Ember.js 中正确执行此操作。
有什么想法吗?
PS——这里有一个重复的 SO——https://stackoverflow.com/questions/12915647/table-sort-with-emberjs-clear-and-rebuild-the-table——但它没有答案;为了方便起见,在这个问题中我设置了一个小提琴。
【问题讨论】:
标签: ember.js