JsonStore 和 JsonReader 在上下文中与 Ext.data 的基本区别是什么?
我的意思是我什么时候应该使用 JsonStore 以及什么时候应该使用 JsonReader 对我来说两者都提供相同的解决方案。
最佳答案
其实它们是两个不同的东西。 Ext.data.JsonReader
读取给定的 JSON 对象并返回稍后由相应数据存储存储的数据记录( Ext.data.Record
对象)。
Ext.data.Store
是所有 Ext 存储的基类,并使用辅助对象来检索数据 ( Ext.data.DataProxy
)、写入数据 ( Ext.data.DataWriter
) 和读取数据 ( Ext.data.DataReader
)。这些基类有不同的风格,例如:
Ext.data.DataProxy
:Ext.data.DirectProxy
Ext.data.HttpProxy
Ext.data.MemoryProxy
Ext.data.ScriptTagProxy
Ext.data.DataWriter
Ext.data.JsonWriter
Ext.data.XmlWriter
Ext.data.DataReader
Ext.data.JsonReader
Ext.data.XmlReader
这一切构成了一个非常可扩展的组件,允许开发人员准确配置他需要调整的内容。为了让开发人员(尤其是新开发人员)更容易使用 Ext 附带了一些预配置的数据存储:
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'}]
});
});
关于json - 在 Ext.data 的上下文中,JsonStore 和 JsonReader 之间的基本区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2130721/