2013-02-04 27 views
0

我目前使用的是CompositeView中显示众多ItemViews,每个代表的注释。现在,我希望能够回复评论:当用户选择一个“回复”按钮(ItemView的一部分)时,我想在回复下方的评论下方显示一个表单。在Marionette.js的CompositeView中使用布局?

我的想法是使用布局对于这一点,含有两个区域:一个用于注释(如当前由ItemView控件表示)和一个用于答复的形式(在用户点击“回信”按钮后,后者仅示出)。

是否可以指定一个布局作为CompositeView中的ItemView控件属性和渲染原ItemView控件(代表,于我而言,评论)这个布局中?

回答

1

布局延伸ItemView控件添加了对区域的支持,所以应该很好地工作。处理“回复”事件时,请在您的(以前是空的)评论区域中显示您的评论视图。

+0

约翰是正确的。你可以指定任何从Backbone.View延伸出来的对象作为CompositeView的'itemView'属性。这包括所有Marionette视图以及任何其他Backbone库中的任何其他视图类型。 –

+0

非常感谢!不过,我仍然没有成功。我指定了一个包含两个区域的布局,即'commentRegion'和'replyFormRegion'。我将这个布局定义为CompositeView的itemView。显示CompositeView时,会显示布局的模板(与CompositeView集合中的模型实例一样多)。到现在为止还挺好。现在,当Layout初始化时,我想在Layout的'commentRegion'中显示原始注释ItemView。我怎样才能做到这一点?也许使用this.commentRegion.show()进行初始化?什么传递给show()来显示模型? – erik13579

+0

我想它是关于将模型实例从布局传递到视图。因此我标志着这个问题得到解决 – erik13579