Я не могу понять, почему эта функция думает: а )
отсутствует в конце. Когда я делаю это )
он создает функцию самоисполнения и генерирует javascript, который не является тем, что я хочу.
Работает
this.Events.off = (): any {
var events = arguments[0],
callback = arguments[1];
if (typeof events === 'string' && typeof callback === 'function') {
this._events.off.call(this._events, events, callback);
}
else if (typeof callback === 'function') {
this._events.off.call(this._events, callback);
}
};
ошибки
declare var $, Backbone;
export class WebControls {
_events;
Events;
constructor (options? ) {
this._events = $.extend({}, Backbone.Events);
this.Events = {};
this.Events.on = (events: string, cb: (event: any) => any) {
this._events.on.apply(this._events, arguments);
};
this.Events.trigger = (eventName: string, ...args: any[]): any {
this._events.trigger.apply(this._events, arguments);
};
this.Events.off = (events?: string, callback?: any) : any {
if (typeof events === 'string' && typeof callback === 'function') {
this._events.off.call(this._events, events, callback);
} else if (typeof callback === 'function') {
this._events.off.call(this._events, callback);
}
};
}
}
Неужели я не вижу здесь ничего очевидного?
В коде скриншота вам нужно либо ключевое слово "функция", либо стрелка жира после списка параметров.
_this
но когда используется функциональная клавиатура, вместо this
используется обычное
callback?: any
. Код скриншота имеетcallback?: (event: any) => any
Хотя оба выглядят корректно для меня, они разные. Трудно сказать, что еще нам не хватает.