return new Ext.Button({
text: cfg.text,
menu: {
xtype: 'menu',
items: cfg.menu,
listeners: {
itemclick: {
fn: function() {
console.log(this);
this.fireEvent('tabchange', 'apps');
},
scope: this
},
scope: this
},
scope: this
},
minWidth: 50,
scope: this
});
cfg является параметром функции. Это все есть. Console.log работает - поэтому код до этого момента также работает. Это, кажется, находится в правильном объеме.
Тем не менее, fireEvent заканчивается:
Uncaught TypeError: невозможно прочитать свойство «применить» неопределенного
После вызовов в журнале ошибок fireEvent выполняется, он достигает
EXTUTIL.Event.fire
if(l && l.fireFn.apply(l.scope || me.obj || window, args) === FALSE)
Где это терпит неудачу.
Есть ли какая-то проблема с областью видимости/вложенностью при попытке вызвать событие внутри прослушивателя событий?
Моя цель - вызвать это событие при выборе пункта меню для кнопки.