2011-02-09 2 views
1

J'ai un panneau principal qui est composé de sous-panneaux et je voudrais déclencher un événement dans le panneau principal et l'écouter sur le panneau secondaire.Sencha Touch fireEvent

Je peux déclencher l'événement dans le sous-panneau et tout fonctionne mais je ne peux pas sembler tirer l'événement du panneau principal.

Mon espace de noms pour le sous-panneau est "test.testCard" et j'ai essayé de déclencher l'événement sans succès.

Répondre

3

Voici un exemple de la façon de le faire:

Ext.setup({ 
    onReady: function() { 
     var mainPanel = new Ext.Panel({ 
      fullscreen: true, 
      layout: 'fit', 
      renderTo: Ext.getBody(), 

      listeners: { 
       'mycustomevent': function() { 
        alert('event fired!'); 
       } 
      }, 

      items: [ 
       { 
        items: [ 
         { 
          html: 'My inner panel' 
         }, 
         { 
          xtype: 'button', 
          text: 'Click me!', 
          handler: function() { 
           mainPanel.fireEvent('mycustomevent', this); 
          } 
         } 
        ] 
       } 
      ] 
     }); 
    } 
}); 

Vous pouvez voir que je suis en train de créer une référence à mainPanel puis référençant plus tard dans mon code dans le gestionnaire de bouton, où je puis appeler fireEvent avec mon événement personnalisé. Puis dans mon mainPanel, j'ajoute un écouteur pour mycustomevent.

Et comme indiqué précédemment, il est préférable de publier sur le Sencha Forums, car vous obtiendrez une réponse beaucoup plus rapide.