重新渲染CompositeView的项目视图,但不是它的childViews

时间:2015-05-27 09:58:52

标签: backbone.js marionette

我有一个带有集合的CompositeView。 CompositeView有自己的模型和视图非常复杂,并且更改使它的childViews需要触发CompositeView的视图来重新渲染而不是它的childViews。这可能吗?

我在Marionette文档中读到了#34;您可以指定用于模型的modelView。如果你不这样做 指定一个,它将默认为Marionette.ItemView。"但是当我尝试在CompositeView中使用它时没有任何反应。

1 个答案:

答案 0 :(得分:0)

您的CompositeView应该侦听自己模型的更改事件,并应该在其上调用render。通过这种方式,与复合视图关联的唯一ItemView将在更改自己的模型时重新呈现,而不是所有的childView。

this.listenTo(this.model, 'change', this.render)

您可以将此行放在CompositeView的初始化方法中。