2012-04-19 57 views
1

如果您在每個屏幕「幾乎」上都有一些根級別的HTML,那麼您將如何組織這些內容?BackboneJS根級別視圖

我正在使用backbone-boilerplate和requirejs。其中一個根級視圖是一個全局導航元素,可以隨時從屏幕底部調用。

這是組織在一個有模型(可見性,選定狀態,點擊日誌等)的模塊中。該應用程序存儲在:

ClientName.app = _.extend({ rootViews: {} }, Backbone.Views); 

然後在我的路由器初始化方法,我有:

ClientName.app.rootViews.globalNav = new GlobalNav.Views.BottomView({ model: new GlobalNav.Models.Bottom()}); 

它工作正常,但隨着功能的不斷增長,路由器初始化方法失控有類似的根視圖,子路由器等我完全錯過了什麼?

你會推薦什麼?

+0

爲什麼不將全局導航添加到您的佈局? – clexmond 2012-04-19 20:20:02

回答

1

您是否退房Marionette.Region?這允許您將視圖分配給特定的div,例如頁腳。您可以將應用程序的主體區域定義爲另一個區域,當您導航到不同的頁面時,您可以動態更換該區域。

對於View Controller來說,路由器通常是一個糟糕的選擇。相反,我建議檢查一下木偶,它能很好地處理這種事情。您可以使用application events實現您的頁面導航控件,您可以連接主視圖來偵聽,然後動態換出區域。查看Marionette文檔底部的示例應用程序以獲取出發點。