Я думаю, что у меня может быть фундаментальное непонимание того, как Marionette.Layout
предназначен для использования.
Я пытаюсь сделать что-то вроде этого:
Макет включает два 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
?
Спасибо!