backbone.js - 视图内的视图和管理事件

Mat*_*hew 11 javascript jquery backbone.js underscore.js

组织观点的好方法是什么?假设我有一个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
Run Code Online (Sandbox Code Playgroud)

然而,单击分页中的过滤器或数字应该能够将集合转换为fetch()新数据并刷新视图;

Dan*_*ows 0

我尝试尽可能地反映我的服务器端 MVC 结构。

所有可以放入插件的东西,我都会这样做,然后将这些插件保存在调用插件的控制器的单独位置。因此,在您的情况下,用户列表的表视图将保存在表插件中,或者可能保存在“用户”模块中(如果它是我实际上只使用一次的代码)。

如果我需要覆盖插件的输出,那么我会将视图存储在模块文件夹中。

我试图避免做的是纯粹按照视图中的 HTML 类型来存储视图,因此我不会将模块的视图存储为“表”,因为如果稍后它更改为列表,这会变得混乱。显然,如果我有一个“表”插件,那么该插件的视图将是一个表,但是更改 JavaScript 视图意味着只需将插件调用从“表”更改为“列表”即可。