我得到了一些與marionette.js的問題,並花了幾個小時看錯誤源,但我找不到它,我的佈局沒有正確渲染其模板,它只是渲染元素在模板的第一個div內。Marionette.js只佈局渲染模板的單個元素
這裏是實際的模板,headerlayout.html:
<div class="header-logo-bg relative" id="header_logo">
<a href="/" title="Apps Title">
<div class="logo"></div>
</a>
</div>
<div id="home_btn">
<a href="/">
<div class="back_to_all_modules">
Back to<br>
All Modules
</div>
</a>
</div>
<div class="header_menu" id="header_menu">
</div>
,但呈現的結果是隻有這樣的:
<div>
<a href="/" title="Apps Title">
<div class="logo"></div>
</a>
這裏是我的骨幹佈局:
define([
'marionette',
'modules/header/views/menulayout',
'tpl!modules/header/templates/headerlayout.html'
], function (Marionette, MenuLayout, layoutTemplate) {
var HeaderLayout = Backbone.Marionette.Layout.extend({
template: layoutTemplate,
regions: {
menuRegion: '#header_menu'
},
initialize: function() {
console.log('initializing header layout');
},
onRender: function() {
console.log('onRender headerlayout');
var menuLayout = new MenuLayout();
this.menuRegion.show(menuLayout);
}
});
return HeaderLayout;
});
這裏是我的標題佈局從骨幹應用程序調用:
define([
'marionette',
'modules/header/views/headerlayout'
], function (Marionette, HeaderLayout) {
// set up the app instance
var myApp = new Backbone.Marionette.Application();
// configuration, setting up regions, etc ...
myApp.addRegions({
header: '#header',
content: '#content',
footer: '#footer',
dialog: '#dialog'
});
myApp.addInitializer(function() {
var headerLayout = new HeaderLayout();
myApp.header.show(headerLayout);
});
// export the app from this module
return myApp;
});
我在這裏想念什麼?任何幫助將不勝感激,謝謝。對於我可憐的英語感到抱歉。
我看不出有任何問題與您的代碼,也許這是你的模板中的一些錯誤,一個奇怪的字符編碼可能? – Ingro
@Ingro是的,你是對的,代碼沒有錯,錯誤源位於requirejs配置文件。 – ruwhan
我們有完全相同的問題....什麼是修復? – Bingy