我有一个包含两个区域的根布局。其中一个是简单的ItemView,另一个是LayoutView。当第二个区域尝试显示LayoutView时,我收到一个错误
application.rootView.getRegion(...).show is not a function在控制台中。有人能帮我理解为什么会发生这种情况吗?
视图:
_RootView = Marionette.LayoutView.extend({
el: 'body',
regions: {
navigationRegion: {
selector: '.section-navigation',
regionClass: _NavigationRegion
},
contentLayout: {
selector: '.section-content',
regionClass: _ContentLayout
}
}
});
_ContentLayout = Marionette.LayoutView.extend({
template: '#content-template',
regions: {
contentRegion: {
selector: '.content',
regionClass: _ContentRegion
},
pagemasterRegion: {
selector: '.pagemaster',
regionClass: _PagemasterRegion
}
}
});应用程序:
application = new _Application({
initialize: function (options) {
this.rootView = new _RootView();
}
});
application.on('start', function () {
var
contentLayout = new _ContentLayout();
var
navigation = new _Navigation();
navigation.fetch({
success: function (collection, response, options) {
var
navigationView = new _NavigationView({
collection: collection
});
//======Line without error=======
application.rootView
.getRegion('navigationRegion')
.show(navigationView);
}
});
//======Line with error=======
application.rootView
.getRegion('contentLayout')
.show(contentLayout);
});
application.start();发布于 2015-12-16 21:37:57
在显示布局之前,应先渲染布局:
application.rootView.render();
application.rootView
.getRegion('contentLayout')
.show(contentLayout);https://stackoverflow.com/questions/34313305
复制相似问题