При переходе с Mootools на EcmaScript Classes мне нужно добавить некоторые готовые функции в классы.Подобные события ...
Mootools использует для этого параметр Реализует в классе.
var Widget = new Class({
Implements: Events,
initialize: function(element){
// ...
},
complete: function(){
this.fireEvent('complete');
}
});
Выше Реализует добавляет некоторые методы в класс.
Существует множество смешанных способов сделать это в сети.Но в конце я чувствую себя смущенным.Почему мы не просто расширяем класс Events, а используем более сложное смешанное приложение.
Я ищу что-то сухое и простое для повторного использования.Как этот;
class BaseAnimal {
//...
}
/* Events Mixin */
var Events={
//...
}
/* Options Mixin */
var Options={
//...
}
/* Extend base and add mixins */
class Parrot extends myMixinFuction(BaseAnimal,Events,Options){
//...
}
/* No Base. Only add mixin */
class Cat extends myMixinFuction(Events){
//...
}
myMixinFuction function (...args){
//do something that adds mixins to base class.
//if no base create one empty class and add mixinis to it
//return that Class
}