4
我有一個Backbone應用程序,可以在您導航到的每個頁面上呈現多個相關的視圖。例如,一個頁面呈現以下觀點:你如何在Backbone中追加你的子視圖?
- 語境酒吧
- 下拉菜單
- 分頁
- 主表
- 錶行
這裏的主要表視圖將被添加到我的路由器DOM第一 - 這個觀點reset
內勢必會在其內部建立appendRows
功能 - 其中就將此每個錶行:
// Instantiate the view, render and append it to the DOM
var tableView = new TableView({ collection: blahCollection });
$("main").append(tableView.render().el);
// Fetch the latest data for the collection (triggers a reset which appends rows)
blahCollection.fetch();
這似乎是合乎邏輯對我來說,然而當談到添加分頁子視圖時,我會問自己這個問題:「應該真正控制視圖附加到屏幕上嗎?」
因此,給定的分頁例如:
- 應的視圖(在這種情況下,主表視圖)控制如何/時分頁被附加到DOM?
- 應該路由器?如果是這樣,它是否應該調用父視圖上的函數來執行此操作 - 還是應該將邏輯完全保存在主視圖之外?
我在路由視圖和子視圖之間做了區分。通常,對於路由視圖,我有一個處理顯示/隱藏的父類,使用「when(隱藏所有視圖).then(顯示此視圖)」模式。 –