2014-09-06 61 views
0

過去幾周我一直在學習backbone.js,並且即將開始在我正在編寫的應用程序中使用它。我的問題是關於Bootstrap 3導航欄中模型和集合的用例。backbone.js模型和集合的最佳實踐

在我的服務器端,我對用戶進行身份驗證,並根據他們的個人資料爲他們分配角色(作者,編輯者,管理員等)。然後構建一個包含用戶角色的適當菜單結構的對象,並使用Handlebars將其傳遞給客戶端。目的是使瀏覽器根據使用主幹的對象的屬性(鍵/值)來構建HTML以呈現菜單。

我的想法是,導航欄本身是一個模型集合(導航欄);導航欄上的每個下拉菜單或鏈接都是單個模型(navbarItem);其中每個菜單項都包含一組菜單項(navbarItemMembers),這些菜單項是每個菜單項(navbarItemMember)的模型。然後,我可以針對每個navbarItemMember設置事件偵聽器,以根據需要觸發適當的路由或呈現操作。

所以,要說到點......我過分複雜的東西?包含模型的集合,每個模型都包含其他模型的集合,每個模型都映射到在主頁上呈現a的視圖。似乎對我很複雜,但從我對backbone.js的(儘管有限的)理解來看,似乎確實是這樣做的正確方法......?

建議從那些比我更有經驗(戰鬥傷痕?!)比我更讚賞謝謝。

回答

0

使用集合,當它將爲普通模型提供某些好處時。好處可能是要麼

  1. 與RESTful服務,你會希望不只是獲取數據的列表,但隨後分別獲取/修改/添加/刪除個別項目的交互是該列表
  2. 定義單獨View s列表中的每個項目,而不是有一個遍歷列表的單個View

我不認爲一個基本的導航條受益於這兩者之一。如果你的導航欄有一些超鏈接的超級花式元素,那麼#2適用,但保持簡單,使用單一模型和單個視圖/模板