木偶 - 无法附加到地区

时间:2014-09-06 17:13:40

标签: jquery backbone.js marionette

我正在尝试将视图附加到某个区域,但我收到错误消息:

undefined is not a function

这是我的模板:

<div id="container"></div>
<script id="my-layout" type="text/html">
  <h2>Hello!</h2>
  <div id="menu"></div>
  <div id="content"></div>
</script>
<script id="menuTemp" type="text/template">
    <p>I am from Menu</p>

</script>

这是我的剧本:

var MenuView = Backbone.View.extend({
    template:_.template($('#menuTemp').html()),
    initialize:function(){
        this.render();
    },
    render:function(){
       this.$el.html(this.template);
       return this;
    }
});

container = new Backbone.Marionette.Region({
  el: "#container"
});

MyLayout = Backbone.Marionette.LayoutView.extend({
  template: "#my-layout",

  regions: {
    menu: "#menu",
    content: "#content"
  }
});

// Show the "layout" in the "container" region
layout = new MyLayout();
container.show(layout);

layout.menu.show(new MenuView().render().el); //not working

Here is Live Demo

有人帮我解决这个问题吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

问题是你的最后一行:

layout.menu.show(new MenuView().render().el)

Marionette自动处理渲染视图。所以你只需要打电话:

layout.menu.show(new MenuView())

它会很棒。