我尝试store.load()时未定义ExtJS 4 URL

时间:2012-06-22 12:57:23

标签: extjs extjs4

我有一个有多个网格的面板。我正在尝试制作某种全局刷新按钮,我的意思是,一个按钮可以刷新所有网格和打开标签,而不会像按下F5时那样丢失数据。   使用两个网格很容易就可以获得商店并加载它,但第三个产生了问题。当我尝试与前两个相同的工作时,我得到URL is undefined。   这是我的代码:

reloadInstructionsStore: function() {
    var reloadInstructionSt = this.getStore('Instructions');
    var activeCat = this.getActiveCategory();
    reloadInstructionSt.clearFilter(true);
    reloadInstructionSt.filter({
        filterFn: function(item)    {
            return item.get('category_id') == activeCat;
        }
    }),
    reloadInstructionSt.load();
},

我能想到的唯一原因是我在这里使用的商店定义与其他商店不同2.它不是PROXY和CRUD,但看起来像这样:

Ext.define('MY.store.Instructions', {

    extend: 'Ext.data.Store',
    model: 'MY.model.InstructionRecord',

    autoLoad: true,


    data: g_settings.instructionsApi.initialData

});

问题出在这里,有没有办法让事情变得像这样?

由于

Leron

1 个答案:

答案 0 :(得分:0)

您无需重新加载此商店,数据在初始页面加载时提供。变量g_settings.instructionsApi.initialData告诉我数据在页面上以静态形式提供。在这种情况下,您只需重置过滤器,然后移除reloadInstructionSt.load();来电。

如果您确实希望从服务器重新加载数据,则需要为商店提供网址,以便从中获取数据,服务器必须能够为此服务数据。