2

我正在尝试构建我的第一个小 Sencha Touch 2 应用程序。我已经创建了一些按预期工作的东西,现在我想创建一些事件处理的东西。

我创建了以下商店:

Ext.define('Mobile.store.Blogs', {
    extend: 'Ext.data.Store',

    config: {
    },
    listeners: {
        'load' :  function(store,records,options) {
            store.loaded = true;
            console.log("fired blogCountAvailable");
            store.fireEvent("blogCountAvailable");
        },
        'blogCountAvailable': function(store, records, options) {
            console.log("blogCountAvailable has been fired");
        }
    }
});

这些东西按预期工作,但现在是下一步。

这是我的标签面板栏的代码:

    Ext.create("Ext.tab.Panel", {
        xtype:'mainTabPanelBottom',
        tabBarPosition: 'bottom',
        fullscreen: true,
    items: [
            {
                title: 'Blog',
                iconCls: 'home',
                xtype:'mainpanel'
            },
            {
                title: 'Users',
                iconCls: 'user',
                xtype:'userpanel'
            }
    ],
        listeners: {
            blogCountAvailable: function(tabpanel, newTab) {
                var tab   = newTab.tab,
                            badge = 10;

                tab.setBadge(badge);

                console.log("blogCountAvailable has been fired");
            }
        }
    });

我现在的问题是如何实现它以将我的自定义事件“触发”blogCountAvailable到选项卡面板?

4

1 回答 1

1

最简单的方法是为您的 TabPanel 设置一个 id,然后:

Ext.getCmp('your_TabPanel_id').fireEvent("blogCountAvailable");
于 2012-04-26T14:44:52.300 回答