У меня есть приложение, в котором я могу нажать кнопку. Если щелкнуть, откроется следующее окно - с глобальным слушателем внутри.
Ext.define('Project.view.window.Info', {
extend: 'Ext.window.Window',
layout: 'fit',
constrain: true,
initComponent: function() {
this.on({
activate: function() {
this.getEl().removeCls('window-inactive');
},
deactivate: function() {
this.getEl().addCls('window-inactive');
},
show: function() {
this.removeCls("x-unselectable");
}
});
this.title = 'Information';
this.items = [{
border: false,
autoscroll: 'true',
items: [{
xtype: 'panel',
name: 'moreinformation',
border: false,
layout: 'fit',
bodyPadding: 20,
html: this.updateInfo()
}]
}];
this.buttons = [{
text: 'close',
scope: this,
handler: this.close
}];
this.callParent(arguments);
var me = this;
Ext.on('translated', function() {
me.down('panel[name=moreinformation]').setHtml(me.updateInfo());
});
},
updateInfo: function() {
return '<p>'
+ 'Update text'
+ '<br /><b>'
+ ....
+ '</p>';
}
});
В приложении у меня есть еще одна кнопка «перевести». При нажатии этой кнопки некоторый текст будет переведен даже в окно выше.
Если я переключаю кнопку перевода, все работает нормально. Теперь я открываю окно «Информация» и снова закрываю его. Если я сейчас нажму кнопку перевода, тогда код
Ext.on('translated', function() {
me.down('panel[name=moreinformation]').setHtml(me.updateInfo());
});
выдаст ошибку, хотя информационное окно закрыто. Я не понимаю этого. Почему приложение запускается в этом коде?