【发布时间】:2014-10-02 19:31:33
【问题描述】:
我正在从原版主干转移到 Backbone.Marionette,并试图以更 Marionette 风格解决常见的设计模式。
我有一个常见的模式,即拥有一个子视图(子视图),它可以有多个可能的状态,每个状态都是一个单独的视图或由 html 和 css 组成的状态。
个人资料说明就是一个例子。
我的应用程序有一个配置文件对象,每个配置文件都有一个注释集合。
配置文件将其笔记列表显示为 CompositeView (NotesView),它由集合中每个笔记的 ItemView (NoteView) 组成。
每个 NoteView 都有两种可能的状态,显示状态和编辑状态。我目前正在使用 html 和 css 完成这种状态更改。在我的应用程序的其他地方,我通过在视图之间切换(销毁旧视图、创建新视图、添加新视图)来处理这种设计模式。
我想做的是为每个笔记设置两个可能的视图,NoteDisplayView 和 NoteEditView,然后控制由 NotesView 呈现的视图。
通读 Marionette 文档后,似乎 Marionette 视图交换的解决方案是使用布局、区域,然后定义该区域“显示”哪个视图。
我不清楚布局是否可以嵌入到复合视图中,以及这是否会抵消复合视图的优势。
我显然可以编写一些自定义代码来处理这种情况,继续通过 html 和 css 管理 NoteView 的状态,但我想知道其他 Marionette 用户发现了什么设计模式来完成这种行为。
【问题讨论】:
-
请发布您的代码。
-
是的,我同意,您应该添加一些代码。但是通过浏览,我认为您应该考虑使用木偶控制器。
标签: javascript backbone.js view marionette