【问题标题】:How to clear views before rendering another one? Backbone.js [duplicate]如何在渲染另一个视图之前清除视图? Backbone.js [重复]
【发布时间】:2011-09-12 12:43:00
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: javascript backbone.js


    【解决方案1】:

    您可能会遇到由于对各种类型事件的剩余绑定而导致的僵尸视图。我在这里提供的解决方案将帮助您:Disposing of view and model objects in Backbone.js

    【讨论】:

    • 这行得通。我想在基本视图中创建这个 close 方法,并赋予它遍历其扩展视图并取消绑定所有事件的能力。你试过这样的事情吗?
    • 是的,我做过类似的事情。您可以像这样向基本主干视图添加关闭方法:Backbone.View.prototype.close = function(){ /* your code here */ }
    • 太棒了,您还可以使用自己的基本视图扩展 Backbone.View,然后让所有视图都扩展。这就是我所做的。
    • @Mauvis - 当我需要视图的子集来共享功能时,我也会这样做。当我希望我的所有视图共享功能时,我使用 Backbone.View.prototype。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 2013-05-19
    • 1970-01-01
    相关资源
    最近更新 更多