2013-07-12 30 views
1

在两个视图之间共享模型的简单方法是什么?如何通过Backbone Marionette在不同视图之间共享模型?

例如,在一个简单的邮件应用程序中,我的模型包含每封邮件的发件人,标题和邮件内容。其中一个视图是仅包含发件人和标题的邮件列表。当您点击标题时,会在内容中显示新的视图。

+0

请参阅http://stackoverflow.com/questions/17603363/marionettejs-using-a-collection-with-two-or-more-views-for-different-layouts –

+0

太复杂。我正在拼命地寻找一个简单的例子。我尝试学习Marionette,因为它意味着构建一个良好结构的Backbone应用程序,并且文档据说比Backbone更好。但是当你真正发现Marionette时,这个文档并没有真正帮助我们弄清楚每件作品是如何协同工作的,而且缺乏简单的示例应用程序。 – peaceLion

+0

我正尝试构建一个非常简单的邮件应用程序来学习,按钮收件箱,包含邮件列表的视图以及在列表中单击邮件标题时的邮件内容视图。真的很难弄清楚有多少个地区?布局经理?或管理视图之间转换的应用程序?如何在视图之间传递视图的参考?等等... – peaceLion

回答

7

这是直截了当的,不需要魔法。只需在多个视图中设置相同的模型。类似以下内容:

var MyMailView = Backbone.Marionette.ItemView.extend({}), 
    MyOtherMailView = Backbone.Marionette.ItemView.extend({}), 
    modelInstance = new Backbone.Model(); 

var view = new MyMailView({model : modelInstance}), 
    otherView = new MyOtherMailView({model : modelInstance}); 

现在你有两个视图共享模型。