如何从 Sencha extjs 获取存储价值

Posted

技术标签:

【中文标题】如何从 Sencha extjs 获取存储价值【英文标题】:How to get store value from Sencha extjs 【发布时间】:2017-02-13 08:18:13 【问题描述】:

我想从存储中检索所有数据,以便在 sencha extjs6 中进行一些验证。我有一个模型、一个商店和一个 json 文件。但我不知道如何从 json 中获取 store 值。例如,将 store 中的值存储到变量或数组中以供我进一步验证。请帮助我,因为我是 sencha extjs 的新手。 这是我的代码:

型号

Ext.define('MyApp.model.MobilePrefix', 

extend: 'Ext.data.Model',

config: 

    fields: [
        name: 'id', type: 'int',
        name: 'prefix', type: 'string',
        name: 'length', type: 'int'
    ]   

);

商店

Ext.define('MyApp.store.MobilePrefix', 

extend: 'Ext.data.Store',

requires: [
    'MyApp.model.MobilePrefix'
],

config: 
    model: 'MyApp.model.MobilePrefix',

    proxy: 
        type: 'ajax',
         url: 'resources/data/MobilePrefix.json',


        reader: 
            type: 'json',
            rootProperty: 'MobilePrefix'
        
    ,

    autoLoad: true


);

Json MobilePrefix.json


"MobilePrefix": [
    "id": 1, "prefix":"012", "length":6 ,
    "id": 2, "prefix":"015", "length":6 ,
    "id": 3, "prefix":"097", "length":7 
   ]


提前致谢。

【问题讨论】:

必须添加验证的地方,使用 Ext.getStore('MobilePrefix').data 获取数据,然后添加验证代码。 感谢您的反馈。我会试试的。 【参考方案1】:

在您的 Store 文件中使用监听器。

Ext.define('MyApp.store.MobilePrefix', 
extend: 'Ext.data.Store',
requires: ['MyApp.model.MobilePrefix'],
autoLoad: true,
config: 
    model: 'MyApp.model.MobilePrefix',
    proxy: 
        type: 'ajax',
        url: 'resources/data/MobilePrefix.json',


        reader: 
            type: 'json',
            rootProperty: 'MobilePrefix'
        
    ,
    listeners: 
        load: function(store) 
            console.log(store.data);
        

    

);

【讨论】:

以上是关于如何从 Sencha extjs 获取存储价值的主要内容,如果未能解决你的问题,请参考以下文章

如何从xml获取网格的存储和列

如何从 ExtJS 商店打印(或警告)值?

在 Sencha Touch 中重用 ExtJS 的模型和存储

Extjs4 - 如何从商店的第一条记录中获取价值

从单个商店动态创建多个 Sencha ExtJS 商店

从 Sencha Touch 中的 Store 获取特定价值?