Понимание макетов в Marionette для Backbone.js

Я думаю, что у меня может быть фундаментальное непонимание того, как Marionette.Layoutпредназначен для использования.

Я пытаюсь сделать что-то вроде этого:

enter image description here

Макет включает два Marinotette.ItemViewс :«Взрыв» ItemViewи «Поп-звезда» ItemView. Этот макет предназначен для того, чтобы всегда содержать эти представления, поэтому я попытался сделать это:

var TheLayout = Backbone.Marionette.Layout.extend({
    template: '#the=layout-template',
    regions: {
        explode: '#explode-region',
        popstar: '#popstar-region'
    }
    initialize:function(options){
        _.bindAll(this);

        var explodeView = new ExplodeView();
        this.explode.show(explodeView);        // <-- This throws and exception because the regions are not available yet

    }
})

Но похоже, что регионы недоступны до тех пор, пока макет не будет отрендерен. Я пытался вызвать this.render()перед добавлением представлений, но это не сработало. Я почти уверен, что фундаментальная проблема здесь в том, что я применяю макет в неправильных обстоятельствах.

Что я должен делать в этой ситуации? Когда правильно использовать Marionette.Layout?

Спасибо!

8
задан Chris Dutrow 15 August 2012 в 17:33
поделиться