問題簡而言之: 初始化牽線木偶合成視圖的大小約爲500的應用程序將暫停大約一分鐘。Backbone Marionette複合視圖渲染
我正在構建骨幹木偶應用程序來維護項目列表。當測試集合大小爲~50時,一切都很好。當限制增長時,應用程序無響應。
Store.ItemsListView = Marionette.CompositeView.extend({
tagName: "div",
template: "#items-list",
itemView: Store.ItemView,
itemViewContainer: "tbody",
emptyView: Store.NoDataView,
});
Store.ItemView = Marionette.ItemView.extend({
tagName: "tr",
template: "#store-item"
});
據我所知,這主要是由於DOM交互[在應用頁面中的CPU異形javascript]。我嘗試通過在itemView中緩存編譯模板的源代碼而不是DOM參考來優化模板。但沒有明顯的改善。
我想過使用ItemView本身來渲染集合here。因爲它將最終的HTML src附加到el。但是我的應用邏輯不允許這樣做。
什麼是其他優雅的方式來擺脫這樣的問題?分頁顯然是其中之一。但我有一種感覺,它可以以更好的方式處理。
和+1到@ebryn爲圖書館:) – bejonbee