这有点难以解释。如果你看下面你会看到有效的JSON。
这是我的商店:
Ext.define('CPC.store.Website.StatisticChartByDate1', {
extend: 'Ext.data.Store',
fields: [
...
],
proxy: {
type: 'ajax',
url: 'myurl',
extraParams: {typeCP: Ext.util.Cookies.get('typeCP')},
reader: {
type: 'json',
root: 'data.rows',
metaProperty: 'data.statistic'
}
}
});
这是我的数据回复:
{
"data":{
'statistic': {...}
'rows' : {...}
}
}
如何为图表呈现rows
,为下面的statistic
呈现FieldContainer
?
答案 0 :(得分:0)
你可以定义一个" master"行和统计信息的2 hasMany
个关联模型。然后,主记录将为每个商店公开一个商店,您可以在您的视图/组件中使用它。要从主数据中读取hasMany
关联,请使用关联的associationKey
选项。
这是一个简短的例子:
Ext.define('App.model.Row', {
extend: 'Ext.data.Model'
,fields: ['name']
});
Ext.define('App.model.Statistic', {
extend: 'Ext.data.Model'
,fields: ['name']
});
Ext.define('App.model.Master', {
extend: 'Ext.data.Model'
// Don't forget requires if models are defined in different files
,requires: [
'App.model.Row'
,'App.model.Statistic'
]
,fields: ['id']
,hasMany: [{
name: 'rows'
,model: 'App.model.Row'
,associationKey: 'rows' // read association data from this node in the response
},{
name: 'statistics'
,model: 'App.model.Statistic'
,associationKey: 'statistics'
}]
,proxy: {
type: 'ajax'
,url: 'data1.json'
,reader: {
type: 'json'
,rootProperty: 'data'
}
}
});
App.model.Master.load(1, { // use id if relevant or anything if the proxy does the job
success: function(masterRecord) {
var rowStore = masterRecord.rows(),
statisticsStore = masterRecord.statistics();
// Use these stores for your different usages
// ...
}
});