モデルがビューのコレクションに追加されると、次のエラーをスローする複合ビューがあります。Uncaught ItemViewContainerMissingError: Missing itemViewContainer
これが私のcompositeViewです:
// VIEW
B.ScrapeUpdate.View = Backbone.Marionette.CompositeView.extend({
// ITEM VIEW
itemView: B.ScrapeUpdateItem.View,
// ITEM VIEW CONTAINER
itemViewContainer: 'tbody',
// TEMPLATE
template: Handlebars.compile(templates.find('#scrape-update-template').html()),
// INITIALIZE
initialize: function(options){
_.bindAll(this);
// Bind events
this.collection.bind('reset', this.renderCollection);
}
});
コレクションにバインドする前に初期化に次のコードを追加すると、バグが修正されることがわかりました。
var html = this.renderModel();
this.$el.html(html);
正常に動作する他の複合ビューがあるのに、なぜこの 2 行のコードが必要なのかわかりません。以下は、機能する複合ビューの例です。
B.BusinessSearchResults.View = Backbone.Marionette.CompositeView.extend({
// ITEM VIEW
itemView:B.Business.View,
// ITEM VIEW CONTAINER
itemViewContainer: 'tbody',
// TEMPLATE
template: Handlebars.compile(templates.find('#business-search-results-template').html()),
// INITIALIZE
initialize: function(options){
_.bindAll(this);
// Bind events
this.collection.bind('reset', this.renderCollection);
}
});
ビューに違いはないように見えるので、何が悪いのかわかりません。