Javascript 是否可以从内存中删除匿名创建的对象(Backbone.js示例)
假设我在一个集合中有一些模型和视图,这些模型和视图都绑定了事件。将其附加到DOM的一种简单方法是使用“一行程序”Javascript 是否可以从内存中删除匿名创建的对象(Backbone.js示例),javascript,Javascript,假设我在一个集合中有一些模型和视图,这些模型和视图都绑定了事件。将其附加到DOM的一种简单方法是使用“一行程序” $('body').html(new MyView({ collection: new MyCollection() }).el); 这里请注意,模型有一些事件监听器CRUD,集合有一些,视图有一些 现在我们已经完成了这个视图,我们想更改视图。我们可以这样做 $('body').html(new MyNextView({ collection: new MyNextCollecti
$('body').html(new MyView({ collection: new MyCollection() }).el);
这里请注意,模型有一些事件监听器CRUD,集合有一些,视图有一些
现在我们已经完成了这个视图,我们想更改视图。我们可以这样做
$('body').html(new MyNextView({ collection: new MyNextCollection() }).el);
现在页面上有了所有的新元素,但是所有的旧元素仍然存在。我们需要一种方法来解除所有对象中所有事件的绑定
有没有办法做到这一点
-
我知道,如果您保存一个包含所有存储对象的数组,这是可能的。这样,您就可以在数组中循环并解除所有对象中所有事件的绑定。我只是想知道,对于匿名创建的对象,这是否可行。如果您可以引用视图的元素,例如,因为您知道id,那么调用$el.remove将从DOM中删除该视图,并且只要该视图没有侦听其el之外的DOM元素,就应该删除任何基于DOM的事件绑定 但这并不一定意味着它将从内存中删除-您可能仍然需要注意并处理对视图和集合的其他引用