在比较了这两个类的文档后,我很好奇为什么会使用Ext.data.JsonStore而不是它的超类:Ext.data.Store。该文档陈述了关于JsonStore的以下内容:
小助手类,可以更轻松地从JSON数据创建Ext.data.Stores。 JsonStore将自动配置Ext.data.reader.Json。
然后,文档将显示JsonStore的典型配置,如下所示:
var store = new Ext.data.JsonStore({
// store configs
autoDestroy: true,
storeId: 'myStore',
proxy: {
type: 'ajax',
url: 'get-images.php',
reader: {
type: 'json',
root: 'images',
idProperty: 'name'
}
},
//alternatively, a Ext.data.Model name can be given (see Ext.data.Store for an example)
fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date'}]
});
上面的代码明确地将读者类型设置为' json' - 不会在JsonStore中隐含json类型吗?这个配置对我来说似乎没有什么不同于某人在Ext.data.Store实例中配置代理来读取JSON文件的方式。
我是否误解了Ext.data.JsonStore的使用?如果没有,使用Ext.data.Store有什么好处?
谢谢!
答案 0 :(得分:1)
查看Ext.data.JsonStore
的定义:
Ext.define('Ext.data.JsonStore', {
extend: 'Ext.data.Store',
alias: 'store.json',
requires: [
'Ext.data.proxy.Ajax',
'Ext.data.reader.Json',
'Ext.data.writer.Json'
],
constructor: function(config) {
config = Ext.apply({
proxy: {
type : 'ajax',
reader: 'json',
writer: 'json'
}
}, config);
this.callParent([config]);
}
});