我正在开发一个大型单页 Backbone JS 应用程序。我有几个由一个大 div 组成的视图,当用户导航到特定的哈希位置时,主干路由器会加载视图,这基本上会在特定的主干视图上触发“显示”事件,并卸载所有其他视图和 $( this.el) 变得可见。
基本上最后我会得到几个视图,在它们之间切换时会做同样的事情,隐藏活动视图 div,并显示与您单击的链接相对应的下一个视图(链接都是主题标签位置)。
禁用或取消委派非活动/隐藏视图的事件有什么好处?现在所有视图都已经实例化并准备好触发“显示”或“隐藏”事件,但我认为在隐藏的视图上禁用所有与 DOM 相关的事件可能会更有效地内存/性能,并取消绑定隐藏视图正在使用的模型或集合。
我正在考虑有一个“清理”触发器,当用户从活动视图切换到新视图时触发,禁用所有事件,然后隐藏 div,但是否有必要,或者有更好的方法来做到这一点,减少内存使用并提高性能?