0
だから私は次のコードを持っている:ExtJSのストアからのデータへのアクセス?
モデル:
Ext.define('Sandbox.model.User', {
extend: 'Ext.data.Model',
fields: [
{ name: 'Name', type: 'string' },
{ name: 'Email', type: 'string' },
{ name: 'TelNumber', type: 'string' },
{ name: 'Role', type: 'string' }
]
});
ストア
Ext.define("Sandbox.store.Users", {
extend : 'Ext.data.Store',
model : 'Sandbox.model.User'
});
をそして私が店に上にデータをロードし、次のApplication.jsがあります
Ext.define('Sandbox.Application', {
extend: 'Ext.app.Application',
name: 'Sandbox',
stores: [
'Users'
],
launch: function() {
var userStore = Ext.getStore('Users');
userStore.add(
[
{
Name : 'John',
Email: '[email protected]',
TelNumber : ' 0330 122 2800',
Role : 'Administrator'
},
{
Name : 'Sarah',
Email : '[email protected]',
TelNumber: ' 0330 122 2800',
Role : 'Customer'
},
{
Name : 'Brian',
Email : '[email protected]',
TelNumber: ' 0330 122 2800',
Role : 'Supplier'
},
{
Name : 'Karen',
Email : '[email protected]',
TelNumber: ' 0330 122 2800',
Role : 'Administrator'
}
]
);
var userStore = Ext.getStore('Users');
console.log("Store size " + userStore.getCount());
console.log("Person #1: " + userStore.getAt(0).Name);
}
});
アプリケーションが起動されると、正しいストアサイズ(4)が記録されます。しかし、インデックス0の特定のデータに対する2番目のログは、値が未定義であることを返します。 ExtJSは非同期ですが、データはハードコードされていることを理解しています。なぜデータを店舗に読み込むのが遅れますか?このコードを修正して、ブラウザでアプリケーションに最初にナビゲートすると、上記の2つのログに正しい情報が表示されます。