在区域内附加另一个视图 - 牵线木偶

use*_*100 8 backbone.js marionette

我使用Backbone LayoutManager在应用程序中管理我的视图.我想尝试木偶.我遇到了一个问题,我无法将视图添加到某个区域.

HTML

<body>
  <div id="content">
       <header id="header"></header>
       <div id="wrapper">
               <span>Some View Content</span>
       </div>
       <footer id="footer"></footer>
  </div>
</body>  
Run Code Online (Sandbox Code Playgroud)

App.js

MyApp = new Backbone.Marionette.Application();
var rm = new Marionette.RegionManager();

var regions = rm.addRegions({
    mainRegion : '#content',
    headerRegion : '#header',
    wrapperRegion : '#wrapper',
    footerRegion : '#footer'
});

regions.headerRegion.show(new HeaderView());
regions.wrapperRegion.show(new SomeView());
regions.footerRegion.show(new FooterView());
Run Code Online (Sandbox Code Playgroud)

如果我想在wrapperRegion中追加另一个视图怎么做呢?

我还想知道有没有办法在我现有的视图中插入另一个视图?布局管理器允许我写下面提到的代码..如何在牵线木偶中实现这样的事情?

var MyView = Backbone.View.extend({

  tagName: "div",

  beforeRender: function() {
     this.insertView(new ItemView());
  }
});
Run Code Online (Sandbox Code Playgroud)

Rob*_*evy 10

每个地区一个视图.只需定义另一个区域即可放入其他视图.


小智 6

您可以简单地将包装区域设为Marionette.Layout,您可以在Marionette.LayoutView找到文档

基本上,布局是项目视图的扩展,可以递归地在其中包含其他区域.这意味着您可以在布局中渲染多个视图,并且布局本身可以在另一个区域中渲染.