SenchaTouch2 - 侦听商店加载事件,设置选项卡面板项“badgeText”

时间:2012-04-26 12:26:33

标签: javascript javascript-events sencha-touch-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”“激活”到选项卡面板。

1 个答案:

答案 0 :(得分:1)

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

Ext.getCmp('your_TabPanel_id').fireEvent("blogCountAvailable");