组织观点的好方法是什么?假设我有一个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()
新数据并刷新视图;
答案 0 :(得分:3)
我是第二个dogenpunk。我会有一个用户集合/视图。因为您在上面描述的整个层次结构是关于那个用户集合的。它的所有功能都操纵该集合,然后您重新呈现用户视图。
如果您只想为该用户的服务器应用更改,则可以将第二个用户视图(一个用户)绑定到模型。
答案 1 :(得分:0)
我尽可能多地反映我的服务器端MVC结构。
可以放入插件的所有内容,我这样做,然后我将这些插件保存在调用插件的控制器的单独位置。因此,在您的情况下,用户列表的表视图将保存在表插件中,或者可能保存在“用户”模块中,如果它是我实际上只会使用一次的代码。
如果我需要覆盖插件的输出,那么我将视图存储在模块文件夹中。
我试图避免做的是纯粹按照其中的HTML类型存储视图,因此我不会将模块的视图存储为“表”,因为如果稍后它更改为列表将会混淆。显然,如果我有一个'table'插件,那么该视图将成为一个表,但是更改JavaScript视图意味着只需将插件调用从'table'更改为'list'。
答案 2 :(得分:0)
我原来问题的2美分。如果你真的想让它成为MV *,那么分页就是一个视图,你的表就是一个视图。让你的收藏发送(触发)事件来改变你的观点。我会问自己的另一个问题是,当我的收藏改变时会受到什么影响?例如,在您的情况下,我认为集合更改不会直接影响您的userView,它只影响表和分页。