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