Sencha Touch fireEvent

时间:2011-02-09 21:27:12

标签: events sencha-touch listener

我有一个由子面板组成的主面板,我想在主面板中触发一个事件并在子面板上听它。

我可以在子面板中触发事件,一切正常,但我从主面板看起来不是火灾事件。

子面板的命名空间是“test.testCard”,我试图在其上触发事件但没有成功。

1 个答案:

答案 0 :(得分: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,因为您会得到更快的响应。