删除骨干视图后,EL也被删除了,这对我来说有点问题。我的视图设置方式是我有一个加载的PHP文件
<div id="main_destinations" class="trip_container"></div>
然后该包装器加载了一个模板。我遇到的问题是,当我删除该视图时,我也删除了该包装,我不知道该怎么办。有没有办法保留包装?我应该重新创建这个空包装器,然后将模板加载到其中。处理这个问题的最佳方法是什么?
我的理解是,在加载视图和附加事件之前,EL需要已经在DOM中,所以我不明白为什么删除视图会删除它的EL。
更新 - 我如何删除视图:
if(typeof mysite.city != "undefined")
{
mysite.city.View.prototype.remove.call(cityViewValue);
}
我如何实例化我的观点:
cityViewValue = new mysite.city.View(page, country, city, city_id);
答案 0 :(得分:0)
这是Backbone.View.Prototype.remove
的定义function () {
this.$el.remove();
this.stopListening();
return this;
}
清楚地显示,它从DOM中删除了el元素。以下是您的问题的替代解决方案: 在视图中创建刷新功能,从视图中删除要删除的元素,并在视图中加载模板。
refresh: function() {
this.$('.dynamic-data').remove(); //Assuming your element to be removed has class dynamic-data and is unique in this view. Otherwise we will write specific selector here
var html = ; // Load template here
$(this.el).append(html);
}