2011-02-09 22 views
1

私はサブパネルで構成されたメインパネルを持っています。メインパネルでイベントを発生させ、サブパネルでそれを聞きたいと思います。Sencha Touch fireEvent

サブパネル内でイベントを発生させることはできますが、すべては機能しますが、メインパネルからイベントを発生させることはできません。

サブパネルの私の名前空間は "test.testCard"です。私はそのイベントを成功させようとしました。ここで

答えて

3

はこれを行う方法の一例です:

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); 
          } 
         } 
        ] 
       } 
      ] 
     }); 
    } 
}); 

あなたは、私がmainPanelへの参照を作成し、その後、私はその後、fireEventを呼び出しボタンハンドラに後で私のコードでそれを参照していていることがわかります私のカスタムイベントで。その後、mainPanelでは、mycustomeventのリスナーを追加しています。

これまで述べたように、はるかに高速な応答が得られるので、Sencha Forumsに投稿することをお勧めします。