2014-09-06 48 views
3

在我的应用程序中,我使用Marionette的扩展名为Backbone。使用该脚本Backbone Marionette - 在布局调用中抛出错误扩展

Uncaught TypeError: Cannot read property 'extend' of undefined 

而且我想我的头,并追加内容与页脚包装元素...:我得到的第一个错误是

但是根本未工作.. 。

这样做的正确方法是什么?

模板:

<div id="wrapper"></div> 
<script id="layout-template" type="text/template"> 
    <section>  
     <navigation id="menu">ABC</navigation>  
     <article id="content">123</article> 
    </section> 
</script> 

脚本:

AppLayout = Backbone.Marionette.Layout.extend({ 
    template: "#layout-template", 
    regions: { 
     menu: "#menu", 
     content: "#content" 
    } 

}); 

var layout = new AppLayout(); 
$('#wrapper').html(layout.render().el); 

这里是Live Demo

任何一个可以帮助我使我的所有元素包装器吗?

+2

在'2.0'版本中,木偶改变'Layout'为'LayoutView',所以它应该是'Backbone.Marionette.LayoutView.extend' – 2014-09-06 13:35:48

回答

2

你应该用这种方式:

AppLayout = Backbone.Marionette.LayoutView.extend({ 
    template: "#layout-template", 
    regions: { 
     menu: "#menu", 
     content: "#content" 
    } 

}); 

凯尔李约瑟所说,LayoutView改变Layout