繁体   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