Backbone.Marionette:渲染没有应用程序区域的LayoutView

时间:2015-09-28 22:56:12

标签: javascript marionette

我试图在不使用应用程序级区域的情况下呈现应用程序的布局视图(不推荐使用它们)。

MyLayoutView = Marionette.LayoutView.extend({
    el: 'body',

    regions: {
        ...
    },

    onBeforeShow: function() {
        // render child regions
    }
});

App = new Marionette.Application();
App.on('start', function() {
    this.view = new MyLayoutView();
    this.view.render();
});

调用view.render();不会触发show,并附加事件,因此视图的元素不会添加到DOM中。那么,我们应该如何在不使用区域的情况下创建顶级布局视图?

1 个答案:

答案 0 :(得分:0)

我认为我的想法是在不使用顶级区域的情况下在body元素上创建布局视图。

这是有道理的,因为通常身体有多个子元素。如果在主体上定义了区域,那么在主体下面只会有一个单独的元素(由附加到该顶级区域的视图表示)。

对于未触发的show事件,您可以直接渲染事件(渲染或之前:渲染):

onRender: function() { // render child regions }