我的主干木偶和requireJS应用程序在不同的文件夹中构建:集合,控制器,配置,init,模型,路由器,服务,模板和视图。
在AppInit文件中定义了一个名为mainRegion的区域。 我应该如何更改我在mainRegion中使用的视图?
一个选项是使用Marionette Layouts在mainRegion中设置包含两个区域(如标题和内容)的布局。
我应该在哪里创建布局? 在views文件夹或控制器文件夹中还是其他任何东西?
答案 0 :(得分:0)
您对创建布局的建议完全有效。
这是另一种选择。木偶应用程序很像布局with support for multiple regions 所以你可以像这样定义你的应用程序:
App.addRegions({
header: "#header",
main: "#main"
});
如果main
非常复杂,它也可以是具有嵌套区域的布局。例如,
如果你有侧边栏,内容和页脚,它可以安排如下:
app -> Marionette.Application
header -> Marionette.Region
main -> Marionette.Region
mainLayout -> Marionette.Layout
sidebar -> Marionette.Region
content -> Marionette.Region
footer -> Marionette.Region
显示您的观看后,它将如下所示:
app -> Marionette.Application
header -> Marionette.Region
headerContent -> YourHeaderViewClass
main -> Marionette.Region
mainLayout -> Marionette.Layout
sidebar -> Marionette.Region
sidebarContent -> YourSidebarView
content -> Marionette.Region
appContent -> YourAppContentView
footer -> Marionette.Region
footerContent -> YourFooterView
关于组织,布局是一种视图,因此我有时会将它们放在我的views
文件夹中。
但是,如果我最终得到很多布局,我会在旁边创建另一个文件夹
views
调用layouts
并单独组织
...
views/
viewA.js
viewB.js
layouts/
mainLayout.js
otherLayout.js
...