我有两个主干视图类 fileView 和 userDetails。
在网络应用程序的一页上,我使用 fileView 呈现所有文件
在另一个页面上,我使用 userDetails 视图来显示用户详细信息,并创建一个新的 fileView 实例来列出用户文件。
在两个页面上导航后,我的事件被触发了两次(一次用于 filesView,一次用于 userDetails.fileView)。
如何删除 userDetails.fileView 的事件?我阅读了文档并尝试了迄今为止没有运气的任何事情。
我有两个主干视图类 fileView 和 userDetails。
在网络应用程序的一页上,我使用 fileView 呈现所有文件
在另一个页面上,我使用 userDetails 视图来显示用户详细信息,并创建一个新的 fileView 实例来列出用户文件。
在两个页面上导航后,我的事件被触发了两次(一次用于 filesView,一次用于 userDetails.fileView)。
如何删除 userDetails.fileView 的事件?我阅读了文档并尝试了迄今为止没有运气的任何事情。
I think you got two points to achieve this:
here's some intel in more detail: http://addyosmani.github.io/backbone-fundamentals/#memory-management
使用最新版本的 Backbone 处理事件的正确方法是listenTo()函数。它的行为类似于常规事件侦听器,但使您调用此函数的对象知道他们正在侦听的内容。这样,一旦不再使用对象(例如删除视图时),您就可以自动清理。如果需要,您当然可以调用stopListening()手动触发此行为。