我想優化我的應用程序中的渲染。我有以下循環:EmberJS:如何分割DOM的渲染?
stuff.forEach(function(content){
...
content.doUpdates(); // Generates a bunch of DOM updates
})
如果stuff
只有2或3個元素是一切正常,但當它有10個或更多,渲染開始鎖定瀏覽器 - 這是正常的,因爲它試圖做所有的更新一次。
所以我想分割渲染。我最初的想法是把每個doUpdates
放在一個Ember.run.next
http://emberjs.com/api/classes/Ember.run.html#method_next(我不介意每個內容是分開渲染的)。但是「使用Ember.run.next預定的多個操作將合併到相同的稍後運行循環中」。
有沒有推薦的方法來做到這一點?
謝謝。我不相信scheduleOnce會在這種情況下提供幫助 - 所有的更新仍然會發生在同一個循環中(與下一個相同)。除非我誤解你將如何使用它?基本上我需要找到一種方法來執行不同循環中的每個「doUpdates」... – PJC