无法呈现模板,因为它是假的,null或未定义的

时间:2014-09-05 11:14:23

标签: jquery backbone.js requirejs underscore.js marionette

我正在使用backbone.marionette.js开发模板系统。 这是我的代码。

的index.html

<div data-role="header" class="header">

</div> 
<div id="main" class="p-relative">  
    <aside id="sidebar" class="sidebar">

    </aside>

    <section id="content" class="main container">

    </section>
</div>

<div data-role="footer" class="footer">

</div>

default.js

define([
    'jquery',
    'backbone', 
    'marionette',
    'Test'
    'text!templates/home/default.html'
  ],
function(
    $,
    Backbone,
    Marionette,
    Test,
    DefaultPageTemplate
){
var MainRegion = Backbone.Marionette.Region.extend({
    el: '.main'
});

var Test = new Backbone.Marionette.Application();

Test.addInitializer(function(options){
    /* create a new layout for Default Page */
    var defaultLanding = new LayoutDefaultPage();
    Test.defaultRegion.show(defaultLanding);
});
var LayoutDefaultPage = Backbone.Marionette.Layout.extend({
    template: DefaultPageTemplate
});

Test.addRegions({
    defaultRegion: MainRegion,
});

return Backbone.Marionette.ItemView.extend({    
    templateHelpers: ModelHelper    
}); 

Test.start();
}); 

当我执行上面的代码时,我得到“无法渲染模板,因为它是假的,null或未定义的。”请帮帮我。

1 个答案:

答案 0 :(得分:0)

您的模板是纯文本。尝试将其包装在下划线模板函数

_.template(DefaultPageTemplate)

或要求带把手的文件

'hbs!templates/home/default'