在Marionette LayoutView区域调用`show`

时间:2014-11-03 13:57:44

标签: javascript backbone.js marionette

我有这个布局视图:

var appLayoutView = Backbone.Marionette.LayoutView.extend({
    template: function() {
        return "some template string";
    },
    regions: {
        notify: "[data-region='Notify']"
    },
    onShow: function() {
        this.regions.notify.show(new notifyView());
    }
});

我称之为:

mainLayout.app.show(appLayout);

理想情况下,当我运行上面一行(基本上是将布局视图放入DOM)时,我需要将notifyView渲染到"通知&#34 ;区域。但是this.regions.notify只是一个字符串。我怎样才能实现我在这里尝试做的事情?基本上有#34;通知"的渲染逻辑。在布局视图类中,而不是从调用行控制。

1 个答案:

答案 0 :(得分:1)

我找不到任何显示添加位置的文档,但LayoutView应该有getRegion方法: https://github.com/marionettejs/backbone.marionette/blob/master/src/marionette.layoutview.js#L74

所以你的代码看起来像是:

var appLayoutView = Backbone.Marionette.LayoutView.extend({
    template: function() {
        return "some template string";
    },
    regions: {
        notify: "[data-region='Notify']"
    },
    onShow: function() {
        this.getRegion('notify').show(new notifyView());
    }
});