将多个主干视图添加到父视图的正确方法

时间:2014-02-17 11:47:28

标签: backbone.js

我有多个构成屏幕的主干视图,目前我这样做:

render : function() {
    this.$el.html(this.template());

    this.view2 = new View2();
    this.view2.render();
    this.$el.append(this.view2.$el);

    ... more views added here as necessary
}

这是处理多个视图的正确方法,还是有更好的方法将视图附加到当前视图?

我希望能够破坏并重新创建一个视图,相关的HTML将从父视图中删除/添加,而无需手动执行。

1 个答案:

答案 0 :(得分:1)

说实话,我真的建议您查看Marionette功能。我有一个建立大型应用程序与骨干的经验,可以说它是真正的魔术棒在发展。它可以帮助您避免使用视图时出现内存泄漏,并使代码更紧凑,更清晰,减少样板代码。

因此,在您的情况下,您可以获取布局视图,创建区域并在区域中渲染视图。

var Layout = Marionette.Layout.extend({
    regions: {
        head: "#head",
        main: "#main"
    }
});

var layout = new Layout();
layout.render();

layout.main.show(new SomeView());