我正在创建一个单页应用程序,而且我对骨干很陌生。我在创建使用相同 wrapper-div 的多个视图时遇到问题。
我的设置:
我为所有视图添加了关闭功能:
Backbone.View.prototype.close = function(){
this.remove();
this.off();
if (this.onClose){
this.onClose();
}
}
我有一个 wrapper-div,我想在其中渲染视图、删除它们并渲染新视图。所以我的 SetupView 看起来像这样:
app.SetupView = Backbone.View.extend({
el: '#my_view_wrapper',
...
});
从交换视图的功能中,我关闭当前(打开)视图,如下所示:
var v = this.model.get('view');
v.close();
问题
我的问题是我有多个视图使用相同的 wrapper-div。但是当我关闭一个视图时,这个 wrapper-div 似乎被删除了,我尝试创建的下一个视图找不到这个 div。
我想有一个简单的解决方案?我想重用相同的包装器,并且只删除其中的视图,而不是包装器本身。