2
我有商店我想從數據庫初始化,但我找不到Ext.data.Store
的標準初始化方法。我發現了StoreManager
組件的幾個例子,但我認爲這不是我想要的。我有一個適用於我的應用程序的MVC結構,我想保留它,我只想用我定義的方法初始化我的商店的數據字段。有人可以解釋如何做?在Extjs中初始化商店的數據
我有商店我想從數據庫初始化,但我找不到Ext.data.Store
的標準初始化方法。我發現了StoreManager
組件的幾個例子,但我認爲這不是我想要的。我有一個適用於我的應用程序的MVC結構,我想保留它,我只想用我定義的方法初始化我的商店的數據字段。有人可以解釋如何做?在Extjs中初始化商店的數據
我要麼明白你錯了,要麼你的問題很簡單。您可以使用這種模型配置商店。就這樣。你可能只是選擇了一個適合你需求的提供者(讀者/寫者)。
// Set up a model to use in our Store
Ext.define('User', {
extend: 'Ext.data.Model',
fields: [
{name: 'firstName', type: 'string'},
{name: 'lastName', type: 'string'},
{name: 'age', type: 'int'},
{name: 'eyeColor', type: 'string'}
]
});
Ext.define('YourMVCNameSpace.data.UserStore', {
extend: 'Ext.data.Store',
constructor: function (config) {
config = Ext.Object.merge({}, config);
var me = this;
// do what you need with the given config object (even deletes) before passing it to the parent contructor
me.callParent([config]);
// use me forth on cause the config object is now fully applied
},
model: 'User',
proxy: {
type: 'ajax',
url: '/users.json',
reader: {
type: 'json',
root: 'users'
}
},
autoLoad: true
});
注意,讀者會想到一個JSON結果是這樣的:
{"total": 55, "users":["...modeldata.."]}
,並在控制器內指的是URL像
http://localhost/YourAppDomain//users.json
廣場店爲 'User'通過調用getUserStore()
或使用Ext.StoreMgr.lookup('User')直接從Ext.StoreMgr中存儲數組並檢索它;
請注意,按照慣例,控制器(MVC)將覆蓋您在商店中設置的任何storeId並僅使用該名稱。
@Peter我修復了一些錯誤 – sra
我想我幾乎可以得到它,但你能解釋一下配置參數究竟是什麼以及爲什麼構造函數需要它嗎? – Peter
@Peter這是爲了克隆配置,以便您不要修改原始配置對象。商店不是組件,因此有點不同。這是一個很好的做法,但大多數時候,即使沒有任何構造函數,你也不會有任何問題。 – sra