主干:查看删除/删除
Backbone: View Deletion / Removal
我有一个关于视图删除/删除的问题。我知道您可以对视图对象调用remove方法,该方法将删除DOM元素以及通过listenTo绑定的任何事件侦听器。我的问题是,你是否需要做更多的事情。我通常会在这些视图中绑定一些额外的变量,我想知道是否也需要取消这些变量。
示例视图:
var myView = Backbone.View.extend({
el: '#exampleContainer',
events: {
'click': 'onClick'
},
initialize: function() {
this.exampleString = 'Hello World';
this.$exampleSelector = this.$('#exampleChild');
},
onClick: function(event) {
console.log('Hello World');
}
});
此外,我是否正确地假设仅仅调用remove是不够的,但我还需要取消指向视图的变量?
myView.remove();
myView = null;
AFAIK您应该将变量设置为null,因为JavaScript的垃圾收集器只会丢弃不再被引用的对象(确切地说,是没有路由到根对象的对象)。对对象调用.remove()
不会破坏引用,因此它可能会留在内存中。
这篇关于HTML5Rocks的文章解释了什么是"对象图"以及JavaScript的垃圾收集是如何工作的。(我认为GC工作流因引擎而异,但基本上就是这样工作的)
相关文章:
- 如何删除/销毁附加到主体的主干视图
- 如何选择性地从主干集合和服务器中删除模型
- 主干->无法调用方法'删除'的未定义
- 删除和取消绑定主干中的子视图
- 我无法删除主干.js中的现有本地存储值
- 删除主干中的变量
- 从主干中的 DOM 中删除视图
- 主干:调用方法 remove() 时无法删除视图
- 主干模型.未设置不删除属性
- 删除主干路由中的“#”
- 保存或删除集合中的模型时,主干视图不会更新
- 复合视图在扩展主干集合时未收到“删除”事件
- 主干.js发送带有销毁/删除的变量
- 主干.js删除未触发的事件
- 如何删除主干模型客户端
- 按 id 删除主干模型
- 删除主干查询字符串
- 按ID删除主干行
- 如何仅从一个集合中删除主干模型
- 如何不删除主干中集合中的重复项