У меня есть общий подкласс Backbone.View
, который имеет прослушиватель событий close
.
var GenericView = Backbone.View.extend({
events : {
"click .close" : "close"
},
close : function () {
console.log("closing view");
}
});
Я хочу подклассифицировать этот общий класс и добавить некоторые новые события. Однако ниже будет перезаписываться объект событий super classes (выше). Например.
var ImplementedView = new GenericView({
// setting this will stop 'close' in Super Class from triggering
events : {
"click .submit" : "submit"
}
});
Как мне создать подкласс, в данном случае ImplementedView
и сохранить события?
Я нашел один способ достичь этого, расширив объект события, когда построен дочерний класс. Однако мне нужно перезапустить this.delegateEvents()
, который, как я предполагаю, не очень хорош. Может ли кто-нибудь прокомментировать это?
var ImplementedView = new GenericView({
initialize : function (options) {
_.extend(this.events, {
"click .submit" : "submit"
});
// re-attach events
this.delegateEvents();
}
});