Как мне ссылаться на экземпляр пользовательского класса внутри пользовательской функции, определенной в классе?
Я расширил класс с помощью «механизма» расширения классов ExtJS4, и у меня есть пользовательский обработчик событий, который будет вызываться, когда что-то срабатывает, и я хочу свернуть Panel, когда что-то срабатывает.
Однако в обработчике событий класса Reactor ниже «this» ссылается на EventTriggerer (Firer события) вместо экземпляра Reactor. Как мне сослаться на экземпляр EventReactor внутри пользовательской функции?
Спасибо!
DashK
Ext.define('EventReactor', {
extend: 'Ext.panel.Panel',
onSomething: function(data) {
// ERROR
// this.collapse is undefined. "this" actually references EventTriggerer
this.collapse();
}
});
Ext.define('EventTriggerer', {
extend: 'Ext.util.Observable',
singleton: true,
constructor: function() {
this.addEvents({
"changedView" : true
});
},
doSomething: function() {
// Do some stuff
this.fireEvent("doneSomething", data);
}
});
...
// Here's how the listeners are added
var er = Ext.create('EventReactor');
EventTriggerer.addListener("doneSomething", er.onSomething);
// Here's how the event is triggered.
er.doSomething();