J'ai deux fenêtres. Événement appelé dans une fenêtre, mais gestionnaire (écouteur) doit être dans l'autre fenêtre. Cela peut-il être fait? Si oui, comment?Evénements dans ExtJs
2
A
Répondre
7
Comment les fenêtres sont créées, est la deuxième fenêtre qui déclenche l'événement une fenêtre enfant créée par la première fenêtre (une avec l'écouteur)?
Voulez-vous déclencher un événement personnalisé ou utiliser un événement extjs?
Vous pouvez ajouter un événement personnalisé de différentes façons ex
var win = new xxxWindow();
win.addEvents('myevent');
Ou
Ext.extend(xxxWindow, Ext.Window, {
initComponent: function(){
xxxWindow.superclass.initComponent.apply(this, arguments);
this.addEvents('myevent');
}
});
Ensuite, dans votre première fenêtre (une avec l'auditeur et le parent de la deuxième fenêtre) après la création de la deuxième fenêtre
showSecondWindow: function(){
var win = new xxxWindow();
win.on('myevent', this.myEventHandler, this);
},
myEventHandler: function(arg1, arg2){
}
Pour déclencher l'événement personnalisé à partir de la deuxième fenêtre
fireMyEvent: function(arg1, arg2){
this.fireEvent('myevent', arg1, arg2);
}
Espérons que cela résout votre problème.
Les événements constituent un excellent moyen de communication entre les composants. Bonne réponse. –
Merci. Je n'ai trouvé aucun exemple d'événement dans les documents ExtJS-3. – Keyo