我只需渲染fetched collection的第一个元素。
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()
没有任何帮助。
答案 0 :(得分:3)
如果您确实需要这样做,请使用appendHtml()
。
appendHtml: function(collectionView, itemView, index){
if ( index === 0 )
collectionView.$el.append(itemView.el);
}
答案 1 :(得分:1)
最简单的方法是创建一个仅包含第一个模型的新集合实例,并将其传递给复合视图。当然,这是假设您不能简单地使用项目视图。