У меня есть общий подкласс 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();
}
});