这是我的layoutView定义:
var OuterLayout = Backbone.Marionette.LayoutView.extend({
template: compiledTplFunc,
el: '#main',
regions: {
header: '#header',
content: '#content',
footer: '#footer'
},
initialize: function () {
// alert('initializing');
this.header.show(new Header());
// this.footer.show(new Footer());
}
});
//下面是路由定义中的呈现代码:
var AppRouter = Backbone.Marionette.AppRouter.extend({
routes : {
'': 'index',
'about': 'about',
'app' : 'startApp',
'signup' : 'signup',
'login' : 'login'
},
index : function () {
outerlayout.render();
var Header = require('../header/header');
var Content = require('../contentIndex/contentIndex');
var Footer = require('../footer/footer');
ol.header.show(new Header());
ol.content.show(new Content());
outerLayout.footer.show(new Footer());
}, .....
有几条路线,我不想在渲染时在路线中附加菜单和页脚的所有内容 我想让它自动附加一些区域,例如:#header和#footer。我该怎么做才能做到这一点?
谢谢!
答案 0 :(得分:3)
只需使用布局的onRender
功能中的布局渲染您想要始终渲染的内容。根据您的代码,它看起来像这样:
OuterLayout.prototype.onRender = function () {
var Header = require('../header/header');
var Footer = require('../footer/footer');
this.header.show(new Header());
this.footer.show(new Footer());
}