Javascript 如何在渲染其他视图之前清除视图?Backbone.js

Javascript 如何在渲染其他视图之前清除视图?Backbone.js,javascript,backbone.js,Javascript,Backbone.js,当我更改布局时,应用程序中出现多个视图实例。我想这可能是因为他们使用相同的el,但我不确定。在设置新视图之前,我将如何清除视图?或者我应该为每个元素创建wrapperel元素,并将它们从dom中清除 谢谢 您可能会遇到僵尸视图,这是由对各种类型事件的剩余绑定造成的。我在这里提供的解决方案将帮助您做到这一点:这很有效。我想在一个基本视图中创建这个close方法,并赋予它遍历扩展视图和取消绑定所有事件的能力。你试过类似的方法吗?是的,我也做过类似的事情。您可以向基本主干视图添加一个close方法,如

当我更改布局时,应用程序中出现多个视图实例。我想这可能是因为他们使用相同的
el
,但我不确定。在设置新视图之前,我将如何清除视图?或者我应该为每个元素创建wrapper
el
元素,并将它们从dom中清除


谢谢

您可能会遇到僵尸视图,这是由对各种类型事件的剩余绑定造成的。我在这里提供的解决方案将帮助您做到这一点:

这很有效。我想在一个基本视图中创建这个close方法,并赋予它遍历扩展视图和取消绑定所有事件的能力。你试过类似的方法吗?是的,我也做过类似的事情。您可以向基本主干视图添加一个close方法,如下所示:
backbone.view.prototype.close=function(){/*您的代码在这里*/}
Fancy,您还可以扩展主干。使用您自己的基本视图进行查看,然后让所有视图都从中扩展出来。这就是我所做的。@Mauvis-当我需要一个子集的视图来共享功能时,我也会这样做。当我希望所有视图共享功能时,我使用Backbone.View.prototype。