gpt4 book ai didi

javascript - backbone remove view 删除 el

转载 作者:IT王子 更新时间:2023-10-29 03:23:13 25 4
gpt4 key购买 nike

我正在创建一个单页应用程序,我对 Backbone 还很陌生。我在创建多个使用相同 wrapper-div 的 View 时遇到问题。

我的设置:

我已经为所有 View 添加了关闭功能:

Backbone.View.prototype.close = function(){
this.remove();
this.off();
if (this.onClose){
this.onClose();
}
}

我有一个 wrapper-div,我想在其中渲染 View 、删除它们并渲染新 View 。所以我的 SetupView 看起来像这样:

app.SetupView = Backbone.View.extend({
el: '#my_view_wrapper',
...
});

在我交换 View 的函数中,我像这样关闭当前(打开的) View :

var v = this.model.get('view');
v.close();

问题

我的问题是我有多个 View 使用同一个 wrapper-div。但是当我关闭一个 View 时,这个 wrapper-div 似乎被删除了,我尝试创建的下一个 View 找不到这个 div。

我想有一个简单的解决方案吗?我想重复使用相同的包装器,并且只删除其中的 View ,而不是包装器本身。

最佳答案

作为补充(供以后引用):另一种选择是覆盖 subview remove 以便它只是清空 $el 而不是删除它。例如。

remove: function() {
this.$el.empty().off(); /* off to unbind the events */
this.stopListening();
return this;
}

我个人更喜欢这个,因为它不需要插入没有实际用途的包装元素。

关于javascript - backbone remove view 删除 el,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14083724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com