Прокси JSONP в основном работает для меня, но мне нужно установить свойства модели на основе некоторых вложенных свойств в ответе JSON.Я не могу понять, как это сделать, не расширяя класс Reader, но подумал, что, возможно, есть простой способ, который мне просто не хватает.
Модель моего рецепта:
Ext.define('NC.model.Recipe', {
extend: 'Ext.data.Model',
config: {
fields: [
{ name: 'name', type: 'string' },
{ name: 'image', type: 'string' },
{ name: 'preparationText', type: 'string' },
{ name: 'ingredientsText', type: 'string' },
{ name: 'servings', type: 'string' }
]
}
});
МойМагазин:
Ext.define('NC.store.Recipes', {
extend: 'Ext.data.Store',
config: {
model: 'NC.model.Recipe',
storeId: 'Recipes',
proxy: {
type: 'jsonp',
url: 'http://anExternalSite.com/api',
callbackKey: 'callback',
filterParam: 'text',
extraParams: {
type: 'Recipe'
},
reader: {
type: 'json',
idProperty: 'uuid',
}
}
}
});
Формат JSON:
[
{
uuid: "/UUID(XXXX)/",
name: "Spicy Peanut Noodle Salad",
image: "http://someplace.com/noodle-salad.jpg",
properties: {
preparationText: "Make it all nice and stuff",
ingredientsText: "Heaps of fresh food",
servings: "serves 4",
}
},
{ ... },
{ ... }
]
Я бы хотел, чтобы эти 3 «свойства» - preparationText
, ingredientsText
и servings
, были помещены вмодель, но в настоящее время только идентификатор, имя и изображение.Какой способ заставить эту работу?Если это действительно связано с расширением класса Reader, какое-то направление было бы здорово.
Спасибо.