2016-10-05 64 views
0

我想從商店中檢索所有數據,以便在sencha extjs6中進行一些驗證。我有一個模型,一個商店和一個json文件。但我不知道如何從json獲得商店價值。例如,將存儲的值存儲到變量或數組中以供我進一步驗證。由於我是sencha extjs的新手,請您好好幫助我。 這裏是我的代碼:如何從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 } 
    ] 
} 

在此先感謝。

+0

如果您必須添加驗證,請使用Ext.getStore('MobilePrefix').data獲取數據,然後添加您的驗證代碼。 –

+0

感謝您的反饋。我會嘗試。 –

回答

0

在您的存儲文件中使用監聽器。

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); 
     } 

    } 
} 
});