2011-02-09 150 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上发帖,因为您会得到更快的响应。