リーダーは、多くの場合、AJAX 要求に応答して、モデル インスタンスまたはストアに読み込まれるデータを解釈するために使用されます。通常、Reader インスタンスを直接作成する必要はありません。ほとんどの場合、Reader は Proxy と一緒に使用され、Proxy の Reader 構成プロパティを使用して構成されるためです。
Ext.create('Ext.data.Store', {
model: 'User',
proxy: {
type: 'ajax',
url : 'users.json',
reader: {
type: 'json',
root: 'users'
}
},
});
上記のリーダーは、次のような JSON 文字列を使用するように構成されています。
{
"success": true,
"users": [
{ "name": "User 1" },
{ "name": "User 2" }
]
}
上記のjson構造を参照してください。「success」と「users」として2つの属性(キーと値のペアを含む)があります。「users」キーには、ストアで使用するオブジェクトの配列があります。したがって、このjsonではリーダーに「users」属性を使用するため、そのストアのルートとして「users」について言及するだけです。
要約すると、ルートは、属性/オブジェクトのどの部分がjsonの消費でストアに使用されるかを示す構成です。
ありがとう