Автоматическая инициализация и отображение вида в пределах области на макете марионеток
У меня есть макет, с регионом. Когда макет инициализирован, я хочу, чтобы он автоматически инициализировал предварительно установленное представление для его области и отображал / закрывал его, когда сам макет показывался / закрывался.
Текущий пример изhttps://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.layout.md:
AppLayout = Backbone.Marionette.Layout.extend({
template: "#layout-template",
regions: {
mainRegion: "#menu",
content: "#content"
}
});
var layout = new AppLayout();
ParentAppLayout.show(layout); // Render the Layout to a parent
layout.mainRegion.show(new SubView());
Этот пример указывает на то, что сначала необходимо показать макет,и после Затем я могу инициализировать и показать дочерний вид. (выше, если я покажуSubView
передlayout
само по себе показано, ничего не произойдет, я полагаю, потому что селектор не существует в DOM?)
Для макета многократного использования я хочу добавить это представление представления отправки в сам макет, а не продолжать добавлять его вручную везде, где используется представление. Как этого достичь?
AppLayout = Backbone.Marionette.Layout.extend({
template: "#layout-template",
regions: {
mainRegion: "#menu",
content: "#content"
},
initalize: function() {
this.mainRegion.attachView(new SubView());
},
onShow: function() {
this.mainRegion.show(this.mainRegion.currentView);
}
});
var layout = new AppLayout();
ParentAppLayout.show(layout); // Render the Layout to a parent, expecting the child view to also be created automatically
Однако этот подход тоже ничего не делает - никаких ошибок.