2012-02-13 56 views
1

比方說,我有一個名爲Item的backbone.js模型存儲在ItemCollection中。由於Item具有date屬性,因此將ItemCollection分區的最佳方法是什麼,以便共享相同日期的所有項最終位於同一分區中?backbone.js集合的分區項目(用於分組渲染)

最終,分區數據結構被假定回((backbone.js)視圖,該視圖應該按日期分組。

什麼是最好的方法呢?

到目前爲止,我認爲

  1. 動態提取分區當索引視圖渲染,但可能會打破骨幹的基於事件的機制,優雅呈現集合/模型更新。

  2. 將每個分組標題表示爲Header模型的實例,並將具有其分區的集合附加到它。我不知何故需要保持與Header實例相連的分區與主要的ItemCollection同步,但這可能通過主幹的事件機制來管理。

這些方法是否有意義?任何其他想法?

PS:分組結構並不在我的後端數據模型存在(我想避免引入的話),所以這是一些映射,需要在飛行中發生在客戶端

回答

1

似乎就像你的兩個選項的混合是可行的。我可能會接近這個如下:

  1. 相反的Header,你可以有一個ItemGroup模型(多一點的描述)呈現其collection,這將是更大的ItemCollection的分區裏面的Item秒。
  2. 當您渲染父視圖時,可以完成分區本身,我將調用AppView。在AppView#render中,根據需要對數據進行分區。 (你沒有明確要求如何分區中的數據,但可以使用下劃線做,在的幾行代碼。)
  3. 綁定AppView#renderItemCollectionaddremove事件,所以,每當一個新的項目被添加,分區重新呈現自己。