我在互联网上搜索了触发破坏旧视图的方法。 有这样的功能,但是,我不知道如何触发它们。理想情况下,有一种方法可以在关闭视图时触发销毁。 我找不到如何触发该特定事件的方法。
答案 0 :(得分:2)
您应该按照文档http://backbonejs.org/#View-remove
中的说明调用view.remove()
来触发其销毁
例如,如果你有:
var myView = Backbone.View.extend({
initialize: function() {
...
},
render: function() {
...
}
});
如果您引用myView.remove()
可用,则可以稍后致电myView
。
如果使用listenTo
(推荐)方法而不是on
侦听器,此方法还应删除与视图关联的所有事件侦听器。您还可以添加view.off()
以确保删除事件。
答案 1 :(得分:0)
这篇古老而精彩的文章by Derick Bailey在解释问题以及如何解决问题方面做得很好。正如Monica正确地建议这依赖于view.remove()
,但您可以更新路由器以破坏现有视图 -
尝试类似于
if (currentView) {
currentView.remove();
currentView = newView();
}