各ストアのモデルが同じである同じ json から、異なるストアを維持できるようにしたいと考えています。各ストアは、ルート プロパティの割り当てに基づいて更新する必要があります。サンプルの json、ストア、およびモデルについては、以下を参照してください。この場合、各ストアは json のルート プロパティ値 (カテゴリ 1、カテゴリ 2 など) に基づいて更新されます。目標は、setProxy を呼び出して単一のストアの URL 設定を変更するのではなく、アプリケーション内のネストされたリストをその場で別のストアにバインドできるようにすることです。また、json はこの形式である必要があります。ご協力いただきありがとうございます。ご不明な点がございましたら、ご不明な点がございましたらお知らせください。
ジョンソン:
{
"items": [
{
"name": "category 1",
"status": "",
"displaytext": "",
"items": [
{
"name": "",
"status": "",
"displaytext": "",
"items": [
{
"name": "",
"status": "",
"displaytext": "",
"items": [
{
"name": "",
"status": "",
"displaytext": "",
"leaf": true
}
]
}
]
}
]
},
{
"name": "category 2",
"status": "",
"displaytext": "",
"items": [
{
"name": "",
"status": "",
"displaytext": "",
"items": [
{
"name": "",
"status": "",
"displaytext": "",
"leaf": true
}
]
}
]
},
{
"name": "cateory 3",
"status": "",
"displaytext": "",
"items": []
},
{
"name": "category 4",
"status": "",
"displaytext": "",
"items": []
}
]
}
モデル:
Ext.define('MyApp.model.myModel', {
extend: 'Ext.data.Model',
config: {
fields: [
{
name: 'name',
type: 'string'
},
{
name: 'status',
type: 'string'
},
{
name: 'displaytext',
type: 'string'
}
]
}
});
ストア 1、2、3 など:
Ext.define('MyApp.store.storeCategory1', {
extend: 'Ext.data.TreeStore',
requires: [
'MyApp.model.myModel'
],
config: {
model: 'MyApp.model.myModel',
storeId: 'myStore',
autoLoad: false,
proxy: {
type: 'ajax',
url: '/path/to/file.json',
reader: {
type: 'json',
rootProperty: 'items'
}
}
}
});