您可以在Backbone视图中实现自定义delegateEvents()
和undelegateEvents()
。
Backbone.View构造函数自动调用delegateEvents。我认为使用Backbone.View.prototype.remove删除视图时会调用undelegateEvents,但事实并非如此。
那么,这是手动执行此操作的最佳方法吗?我使用以下代码覆盖了remove()
视图方法:
Backbone.View.prototype.remove = function() {
var remove = Backbone.View.prototype.remove;
if (this.undelegateEvents) {
this.undelegateEvents();
}
return remove.apply(this, arguments);
};
它有效,但我不知道是否是最好的选择。我该怎么做?