我只需要呈现提取集合的第一个元素。

ItemView = Backbone.Marionette.ItemView.extend({
    template:  "#item"
});

ItemsEmptyView = Backbone.Marionette.ItemView.extend({
    template: "#items_empty"
});

ItemsView = Backbone.Marionette.CompositeView.extend({
    template: "#items",
    itemView: ItemView,
    emptyView: ItemEmptyView
});


我该怎么做?我尝试覆盖render()方法,或者onBeforeRender()没有任何帮助。

最佳答案

如果确实需要执行此操作,请使用appendHtml()

appendHtml: function(collectionView, itemView, index){
    if ( index === 0 )
        collectionView.$el.append(itemView.el);
}


https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.compositeview.md#compositeviews-appendhtml

关于javascript - 如何重写CompositeView渲染方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18788430/

10-12 20:00