Automatyczne inicjowanie i wyświetlanie widoku w regionie w układzie Marionette
Mam układ z regionem. Po zainicjowaniu układu chcę, aby automatycznie inicjował widok predefiniowany, aby zrobić to w jego regionie, i pokazywał / zamykał go, gdy sam układ jest pokazywany / zamykany.
Aktualny przykład zhttps://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());
Ten przykład wskazuje, że układ musi być najpierw pokazany,i po Mogę wtedy zainicjować i pokazać widok dziecka. (powyżej, jeśli pokażęSubView
przedlayout
jest pokazane, nic się nie stanie, zakładam, że selektor nie istnieje w DOM?)
Aby uzyskać układ wielokrotnego użytku, chcę dodać pokaz wysyłania widoków do samego Układu, a nie dodawać go ręcznie w dowolnym miejscu widoku. Jak można to osiągnąć?
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
Podejście to jednak nic nie robi - bez błędów.