我有一个看起来像这样的集合视图:
var PersonView = Marionette.ItemView.extend({
tagName: 'tr',
template: function (model) {
return _.template("<td><%= data.firstName %></td><td><%= data.lastName %></td>", {
firstName: model.firstName,
lastName: model.lastName
}, { variable: 'data' });
}
}),
PersonCollectionView = Marionette.CollectionView.extend({
tagName: 'table',
itemView: PersonView
});
它工作正常,但我无法找出在表格中添加<thead>
部分的最佳方法。我想到将tagName: 'table'
更改为tagName: 'tbody'
并在显示集合视图的布局中添加thead
部分,但它看起来不是一个非常干净的方法。实际上,如果我在其他地方使用我的集合视图,我将不得不在另一个布局中重现thead
部分...建议的方法是什么?
P.S见https://github.com/shawninder/table-collection-views的工作实例。您会注意到该表没有<thead>
部分,这正是我试图解决的问题。
更新:根据已接受的答案修复this commit
答案 0 :(得分:1)
您可能需要使用CompositeView代替。使用CompositeView
,您可以提供一个模板,该模板会添加thead
并使用ItemViewContainer
呈现您的收藏集。阅读doc,我相信你会找到解决方案。