我想我可能对Marionette.Layout
打算如何使用有一个根本的误解。
我正在尝试这样的事情:
布局包括两个Marinotette.ItemView
s:“Explode”ItemView
和“PopStar” 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
?
谢谢!