我有多个构成屏幕的主干视图,目前我这样做:
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将从父视图中删除/添加,而无需手动执行。
答案 0 :(得分:1)
说实话,我真的建议您查看Marionette功能。我有一个建立大型应用程序与骨干的经验,可以说它是真正的魔术棒在发展。它可以帮助您避免使用视图时出现内存泄漏,并使代码更紧凑,更清晰,减少样板代码。
因此,在您的情况下,您可以获取布局视图,创建区域并在区域中渲染视图。
var Layout = Marionette.Layout.extend({
regions: {
head: "#head",
main: "#main"
}
});
var layout = new Layout();
layout.render();
layout.main.show(new SomeView());