我正在渲染一个包含多行内容的表以及一组按钮按钮,其按钮数量可根据状态而变化。以下是整体观点关系。
问题是CompositeView(行)不能将Backbone.Collection传递给CollectionView(按钮)。
行
Row.Main = Marionette.CompositeView.extend ({
template : template,
tagName : 'tr',
itemView: app.Row.Buttons.Main,
itemViewContainer: '#buttons',
itemViewOptions: {
collection: this.collection
}
initialize: function () {
this.collection = app.request ('buttons:entities');
}
});
按钮
Buttons.Main = Marionette.CollectionView.extend ({
itemView: app.Row.Button.Main,
initialize: function (options) {
console.log ('options: %o', options);
// this.collection = app.request ('buttons:entities');
};
});
在按钮中,options.model
包含来自行集合的模型,但options.collection
始终未定义。
如果我在按钮中取消注释this.collection = app.request ('buttons:entities')
,我会得到4行按钮组,它应该只显示1行按钮组:
想知道如何将集合从CompositeView传递到CollectionView?还是有更好的方法?
Marionette ver 1.8.0。感谢。