[英]backbone.js - views within views and managing events
組織觀點的好方法是什么? 假設我有一個div,它將包含來自用戶管理面板視角的視圖 - 將會有一個用戶列表以及選擇一次顯示的數量,排序選項,要打開的頁面,過濾器,等等...
我想要一個包含除表和數據之外的所有內容的外部視圖嗎? 然后是一個包含表格的內部視圖(以及數據)? 分頁會有它自己的看法嗎? 分頁視圖如何使用click事件更新用戶視圖? 我只是對如何組織視圖感到困惑,同時仍然可以讓不同的事件觸發其他視圖來render()
/集合到fetch()
。
所以基本層次結構如下:
- User View
- Table
- List of Users
- Pagination
- List of available numbers to click
- Filters
- Possible filters to apply to the data
然而,在分頁中單擊過濾器或數字應該能夠使集合fetch()
新數據並刷新視圖;
我第二次做事。 我會有一個用戶集合/視圖。 因為您在上面描述的整個層次結構是關於那個用戶集合的。 它的所有功能都操縱該集合,然后您重新呈現用戶視圖。
如果要僅為該用戶將更改應用於服務器,則可以將第二個用戶視圖(單個用戶)綁定到模型。
我原來問題的2美分。 如果你真的想讓它成為MV *,那么分頁就是一個視圖,你的表就是一個視圖。 讓你的收藏發送(觸發)事件來改變你的觀點。 我會問自己的另一個問題是,當我的收藏改變時會受到什么影響? 例如,在您的情況下,我不認為集合更改會直接影響您的userView,它只影響表和分頁。
我盡可能多地反映我的服務器端MVC結構。
可以放入插件的所有內容,我這樣做,然后我將這些插件保存在調用插件的控制器的單獨位置。 因此,在您的情況下,用戶列表的表視圖將保存在表插件中,或者可能保存在“用戶”模塊中,如果它是我實際上只會使用一次的代碼。
如果我需要覆蓋插件的輸出,那么我將視圖存儲在模塊文件夾中。
我試圖避免做的是純粹根據其中的HTML類型存儲視圖,因此我不會將模塊的視圖存儲為“表”,因為如果稍后它更改為列表將會混淆。 顯然,如果我有一個'table'插件,那么該視圖將成為一個表,但是更改JavaScript視圖意味着只需將插件調用從'table'更改為'list'。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.