Ловля удалить событие на просмотр в позвоночника в JS
Существует ли какой-либо способ прослушивания события remove / destroy на представлении магистрали.?
Я хочу сделать что-то, как показано ниже:
$(myBackboneView).on('remove', function () {
// do some processing
});
Или
$(myBackboneView).on('destroy', function () {
// do some processing
});
Заранее благодарю вас. :)
3 ответа:
Можно попробовать переопределить метод
View.remove
::Backbone.View.extend({ remove: function(){ // Your processing code here Backbone.View.prototype.remove.apply(this, arguments); }; });
Я попробовал следующее, И это работает для меня:
$(myBackboneView.el).on('remove', function () { // do some processing });
Это хороший подход ? Или есть что-то еще лучше этого?
Если вам нужно прослушать, не удаляются ли другие представления, вы можете настроить базовый класс представления на запуск события 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)