JsonStore和JsonReader在Ext.data中的基本區別是什麼?JsonStore和JsonReader在Ext.data環境中的基本區別是什麼?
我的意思是當我應該去JsonStore和當我應該使用JsonReader作爲我都提供相同的解決方案。
JsonStore和JsonReader在Ext.data中的基本區別是什麼?JsonStore和JsonReader在Ext.data環境中的基本區別是什麼?
我的意思是當我應該去JsonStore和當我應該使用JsonReader作爲我都提供相同的解決方案。
其實它們是兩個單獨的東西。 A Ext.data.JsonReader
讀取給定的JSON對象並返回稍後由相應數據存儲區存儲的數據記錄(Ext.data.Record
對象)。
Ext.data.Store
的是所有分機儲存的基類,並使用輔助對象,用於檢索數據(Ext.data.DataProxy
),用於將數據寫入(Ext.data.DataWriter
)和用於讀取的數據(Ext.data.DataReader
)。這些基類有不同的調味劑,如:
這一切都建立了一個非常可擴展的組件,允許開發人員準確配置他需要調整的內容。爲了讓開發人員更容易(尤其是新的)分機附帶了一些預配置的數據存儲:
Ext.data.ArrayStore
實現從簡單的JavaScript數組容易Ext.data.DirectStore
,預配置了Ext.data.DirectProxy
和只是一個存儲器讀取Ext.data.JsonReader
Ext.data.JsonStore
,只是商店預先配置的Ext.data.JsonReader
Ext.data.XmlStore
,只是預配置了Ext.data.XmlReader
所以實際上Ext.data.JsonStore
只是一個方便的類,使開發人員更容易。
以下兩個代碼段將創建相同的(或類似的)存儲:
var store = new Ext.data.JsonStore({
url: 'get-images.php',
root: 'images',
idProperty: 'name',
fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date'}]
});
// or
var store = new Ext.data.Store({
url: 'get-images.php',
reader: new Ext.data.JsonReader({
root: 'images',
idProperty: 'name',
fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date'}]
});
});
A JsonReader
將JSON從數據源讀取到Ext Store中。 JsonData不是一個特別定義的Ext對象,雖然也許你已經將它看作是一個變量名稱?你在什麼情況下使用它?
下面是一個例子,實施例 使用閱讀 VAR商店=新Ext.data.Store({ 代理:新的分機.data.HttpProxy({ URL: '/分貝CMD =列表' \t \t}),\t \t \t 讀者\t:新Ext.data.JsonReader( \t \t \t \t {root:'row',fields:['name']} \t \t) \t}); store.load(); 實施例2與JsonStore 變種商店=新Ext.data.JsonStore的實踐例子({ \t \t \t網址: '?/分貝CMD =名單', \t \t \t根: '行', \t \t \t字段: ['name'] \t \t}); store.load(); – shahjapan 2010-01-25 07:37:49
就像一個筆記,你最初問JsonReader和* JsonData *之間的區別,這顯然是因爲你編輯你的問題來改變(而不是注意到)的錯誤。只是想澄清,以便我的答案看起來不那麼隨意。正如Stefan在下面解釋的,JsonStore是一個便利的課程。如果您通過HTTP加載JSON,它只會節省一些配置工作量,但它等同於使用JsonReader和HttpProxy。 – 2010-01-25 15:12:50