Backbone.jsは非常に柔軟性があるため、特定のものに対する最善のアプローチについて疑問に思っています。ここで、「。render()」と「.remove()」が互いに正しく反転するように、アプリケーションのビューを構築することになっているのではないかと思います。
最初は、最もクリーンに見える方法は、アタッチするIDまたはjQuery要素をビューに渡すことです。ただし、このように行われた場合、メイン要素がDOMに戻されることはないため、「。render()」を呼び出してもDOMのビューは正しく置き換えられません。
App.ChromeView = Backbone.View.extend({
render: function() {
// Instantiate some "sub" views to handle the responsibilities of
// their respective elements.
this.sidebar = new App.SidebarView({ el: this.$(".sidebar") });
this.menu = new App.NavigationView({ el: this.$("nav") });
}
});
$(function() {
App.chrome = new App.ChromeView({ el: $("#chrome") });
});
.remove()と.render()が正反対になるように設定することをお勧めします。
App.ChromeView = Backbone.View.extend({
render: function() {
this.$el.appendTo('body');
this.sidebar = new App.SidebarView({ el: this.$(".sidebar") });
this.menu = new App.NavigationView({ el: this.$("nav") });
}
});
$(function() {
App.chrome = new App.ChromeView();
});
Backbone.jsコミュニティは何と言っていますか?.remove()と.render()は同じコインの反対側にあるべきですか?