我有一个复合视图,当将模型添加到视图的集合时,它会引发以下错误:Uncaught ItemViewContainerMissingError: Missing itemViewContainer
这是我的复合视图:
// 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);
当我有其他可以正常工作的复合视图时,我不确定为什么需要这两行代码。这是一个工作复合视图的示例:
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);
    }
});
观点之间似乎没有区别,所以我不确定出了什么问题。