Je suis en train de s'améliorer à étendre les classes de Extjs, et mon evolvement me ont conduit à ce problème:Extjs Comment initialiser les nouveaux éléments de l'extension du - sans perdre la portée
J'ai prolongé une Ext .Panel et je veux que mon extension ait une barre d'outils inférieure avec un bouton par défaut.
myPanel = Ext.extend(Ext.Panel, {
method: function() {
return 'response!';
},
bbar: new Ext.Toolbar({
items:
[
{
xtype: 'button',
text: 'Hit me!',
handler: function (button, event) {
alert(this.method());
},
scope: this
}
]
})
});
Ce que je n'ai pas encore appris est pourquoi cela n'est pas autorisé. this
pointe vers la portée globale et non vers le panneau étendu. Par conséquent, .method()
correspond à undefined
dans la fonction de gestionnaire.