Javascript 在木偶/Backbone.js中渲染布局和子视图

Javascript 在木偶/Backbone.js中渲染布局和子视图,javascript,jquery,model-view-controller,backbone.js,marionette,Javascript,Jquery,Model View Controller,Backbone.js,Marionette,我有一个可行的解决方案,在我正在开发的木偶应用程序中,使用区域视图渲染布局,但感觉有些不对劲。您必须直接向DOM追加任何内容吗 以下是我在控制器中的方法: //Grab the main Layout var layout = new APP.Views.LayoutView(); //Render that layout layout.render(); //Make the model var simpl

我有一个可行的解决方案,在我正在开发的木偶应用程序中,使用区域视图渲染布局,但感觉有些不对劲。您必须直接向DOM追加任何内容吗

以下是我在控制器中的方法:

 //Grab the main Layout
        var layout = new APP.Views.LayoutView();

        //Render that layout
        layout.render();

         //Make the model
        var simpleModel = new APP.Models.simpleModel({
          "field1" : "foo",
          "field2" : "bar"
        });


        layout.header.show(new APP.Views.subView({model: simpleModel}));

        $('body').html(layout.el);
这是我觉得不自然的最后一部分。这主要是因为如果我将“layout.header.show”移到.html()之后,则它无法正确呈现。如果区域在推送到DOM后不能动态变化,那么区域有什么意义

以下是我的布局:

APP.Views.LayoutView = Backbone.Marionette.Layout.extend({

  template: "#layoutTemplate",

  className : 'wrapper',

  regions: {
    header: "#header",
    footer: "#footer"
  }


});
下面是子视图:

APP.Views.subView = Backbone.Marionette.ItemView.extend({

    template : '#headerTemplate',

    className: 'container'


});
正如我所说,这是可行的,但感觉我没有正确使用区域。有没有更好、更简洁的方法可以让您在将布局渲染到DOM后访问区域

在本文中,似乎没有提到使用.html()来获取页面上的内容——我想知道这是因为不需要它还是因为它是假定的


有人能帮忙吗?

好的,看来这可以通过在应用程序中创建一个“区域”,然后使用.show()显示其中的布局来避免

下面是我在上面找到的一把小提琴的链接,它有助于:

还有一个问题:

小提琴特别有以下代码:

App = new Backbone.Marionette.Application();
App.addRegions({
   'nav': '#nav',
  'content': '#content'
});
程序员可以使用它向这些区域添加布局,这意味着您永远不必附加到DOM


如果其他人有更优雅的解决方案,请发布

好的,看来这可以通过在应用程序中创建一个“区域”,然后使用.show()显示其中的布局来避免

下面是我在上面找到的一把小提琴的链接,它有助于:

还有一个问题:

小提琴特别有以下代码:

App = new Backbone.Marionette.Application();
App.addRegions({
   'nav': '#nav',
  'content': '#content'
});
程序员可以使用它向这些区域添加布局,这意味着您永远不必附加到DOM

如果其他人有更优雅的解决方案,请发布