【问题标题】:how do we know which event fired load event in extjs 4.1 store我们如何知道 extjs 4.1 商店中哪个事件触发了加载事件
【发布时间】:2015-05-18 10:28:09
【问题描述】:

我正在使用 extjs 4.1 商店。看起来像这样:

Ext.define('myStore', {
    extend: 'Ext.data.Store',
    requires: ['myModel'],
    autoLoad: false,
    proxy: {
        type: 'ajax',
        url: '/aaa/bbb',
        timeout: '90000',
        reader: {
            type: 'json',
            root: 'data'
        }
    },
    listeners: {
        'beforeload': function (store, options) {
            },
        'load': function (store, options) {

        }
    },
    sorters: [{
        property: 'SortOrder',
        direction: 'ASC'
    }]
});

最初我通过代理加载数据。稍后根据用户交互,我会从 store ussignstore.proxy.reader.rawData 中提取数据并将其存储在某个变量中。

然后在稍后阶段,我将使用 loadRawData() 从变量加载到存储中。

loadRawData() 被调用时,它也会触发加载事件。

我想要什么:我想区分由于代理首次加载数据而触发的加载事件与由于 loadRawData() 而触发的加载事件。

【问题讨论】:

    标签: extjs extjs4 extjs-stores


    【解决方案1】:

    升级到 ExtJS 版本 5.1 允许您访问 store.loadCount ,这将让您检查这是第一次加载还是后续加载。 http://docs.sencha.com/extjs/5.1/5.1.0-apidocs/#!/api/Ext.data.Store-property-loadCount

    如果您不想升级,您可以手动实现此功能(例如,在“加载”侦听器中增加商店中的自定义变量)并检查它以查看您想要执行的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 2019-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多