Я пробовал создавать регионы с помощью Marionette.LayoutView, но когда я его визуализую, в целевой области ничего не отображается. Однако, если я создаю те же регионы с помощью addRegions, он отлично работает. И я просто не мог понять, почему.Marionette addRegions vs regions by LayoutView
App = new Marionette.Application();
AppLayoutView = Marionette.LayoutView.extend({
template: "#app-container",
regions: {
headerRegion: "#header-region",
mainRegion: "#main-region",
drawerRegion: "#drawer-region",
dialog: "#dialog-region"
}
});
App.mainlayout = new AppLayoutView();
App.mainlayout.render();
App.drawerView = new DrawerView();
App.mainlayout.getRegion('drawerRegion').show(App.drawerView);
Если я изменю коды для использования addRegions следующим образом, он успешно отобразится.
App = new Marionette.Application();
App.addRegions({
headerRegion: "#header-region",
mainRegion: "#main-region",
drawerRegion: "#drawer-region",
dialog: "#dialog-region"
});
App.drawerView = new DrawerView();
App.drawerRegion.show(App.drawerView);
Может кто-то помочь мне понять, почему один работает, а другой нет, хотя это мое понимание того, что они делают то же самое. Возможно, я неправильно понял. Благодаря
@rekamar спасибо, что указал. Я полностью пропустил это. У меня был # app-container как div вместо скрипта шаблона типа. Похоже, мне нужны коды рефакторинга, потому что у меня есть другие div внутри контейнера приложения. –