有没有办法在Backbone View上监听删除/销毁事件。?
我想做一些如下所示的事情:
$(myBackboneView).on('remove', function () {
// do some processing
});
或
$(myBackboneView).on('destroy', function () {
// do some processing
});
提前谢谢你。 :)
答案 0 :(得分:5)
您可以尝试覆盖View.remove
方法::
Backbone.View.extend({
remove: function(){
// Your processing code here
Backbone.View.prototype.remove.apply(this, arguments);
};
});
答案 1 :(得分:1)
我尝试了以下内容,它对我有用:
$(myBackboneView.el).on('remove', function () {
// do some processing
});
这是一个好方法吗?还是还有比这更好的东西?
答案 2 :(得分:0)
如果您需要侦听要删除的其他视图,则可以让您的基本View类在调用remove()时触发'remove'事件。
BaseView = Backbone.View.extend({
remove: function () {
this.trigger('remove', this)
return Backbone.View.prototype.remove.apply(this, arguments)
}
})
然后随时倾听:
this.listenTo(otherView, 'remove', func)