如何在按钮点击时加载商店

时间:2012-06-19 10:01:53

标签: extjs load store

我在建筑师做了一个应用程序。我的商店就是这个

Ext.define('MyApp.store.storeMain', {
extend: 'Ext.data.Store',
requires: [
    'MyApp.model.modelMain'
],

constructor: function(cfg) {
    var me = this;
    cfg = cfg || {};
    me.callParent([Ext.apply({
        autoLoad: false,
        storeId: 'storeMain',
        model: 'MyApp.model.modelMain',
        pageSize: 50,
        proxy: {
            type: 'ajax',
            reader: {
                type: 'json',
                root: 'Main',
                totalProperty: 'Main.totalCount'
            }
        }
    }, cfg)]);
}});

这是我的按钮:

{
                                xtype: 'button',
                                text: 'Submit',
                                listeners: {
                                    click: {
                                        fn: me.onButtonClick,
                                        scope: me
                                    }
                                }

这是函数

onButtonClick: function(button, e, options) {
    storeMain.load({
        url:'test.json'
    })
}
                            },

但它没有加载商店。相反,它给出了这个错误:storeMain未定义。我有一个viewport.js和其他文件,如storeMain.js

1 个答案:

答案 0 :(得分:1)

任何地方都没有变量storeMain。您需要致电Ext.getStore('storeMain')以获取商店参考。