簡體   English   中英

backbone.js - 視圖內的視圖和管理事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM