Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';JsonStore和JsonReader在Ext.data上下文中的基本区别是什么?_Json_Extjs_Jsonreader - Fatal编程技术网

什么';JsonStore和JsonReader在Ext.data上下文中的基本区别是什么?

什么';JsonStore和JsonReader在Ext.data上下文中的基本区别是什么?,json,extjs,jsonreader,Json,Extjs,Jsonreader,JsonStore和JsonReader在Ext.data上下文中的基本区别是什么 我的意思是什么时候我应该使用JsonStore,什么时候我应该使用JsonReader,对我来说都提供了相同的解决方案。AJsonReader将JSON从数据源读取到外部存储。JsonData不是一个专门定义的Ext对象,尽管您可能已经将其视为一个变量名?你在什么环境下使用它?实际上它们是两个独立的东西。A读取给定的JSON对象并返回数据记录(对象),这些数据记录(对象)随后由相应的数据存储区存储 是所有Ext存

JsonStore和JsonReader在Ext.data上下文中的基本区别是什么


我的意思是什么时候我应该使用JsonStore,什么时候我应该使用JsonReader,对我来说都提供了相同的解决方案。

A
JsonReader
将JSON从数据源读取到外部存储。JsonData不是一个专门定义的Ext对象,尽管您可能已经将其视为一个变量名?你在什么环境下使用它?

实际上它们是两个独立的东西。A读取给定的JSON对象并返回数据记录(对象),这些数据记录(对象)随后由相应的数据存储区存储

是所有Ext存储的基类,使用helper对象检索数据()、写入数据()和读取数据()。这些基类有不同的风格,例如:

  • :
这一切都建立了一个非常可扩展的组件,允许开发人员准确地配置他需要调整的内容。为了让开发人员(尤其是新开发人员)更容易使用,Ext附带了一些预配置的数据存储:

  • 使从简单Javascript数组读取更容易
  • ,只是一个预先配置了和的商店
  • ,只是一个预先配置了
  • ,只是一个预先配置了
所以实际上,a只是一个方便的类,可以使开发人员更容易地使用它

以下两个代码段将创建相同(或类似)的存储:


下面是一个示例,示例使用Reader var store=new Ext.data.store({proxy:new Ext.data.HttpProxy({url:'/db?cmd=list'}),Reader:new Ext.data.JsonReader({root:'row',fields:['name']});store.load();示例二,JsonStore var store=new Ext.data.JsonStore({url:'/db?cmd=list',root:'row',fields:['name']});store.load();作为一个注释,您最初询问了JsonReader和JsonData之间的区别,这显然是一个打字错误,因为您编辑了您的问题以改变这一点(没有注意)。我只是想澄清一下,这样我的回答就不会那么随意了。正如Stefan在下面解释的,JsonStore是一个方便的类。如果您是通过HTTP加载JSON,那么只需节省一些配置工作,但这相当于使用JsonReader和HttpProxy。
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'}]
    });
});