Всем привет!
Есть у меня рабочий
Fiddle с ajax прокси, который я пытаюсь переделать на memory прокси. Пока как-то не шибко получается.
Вот основной код ручной загрузки данных Ajax-запросом в store:
// app/model/Employees.js file
Ext.define('Fiddle.model.Employees', {
extend: 'Ext.data.Model',
entityName: 'Employees',
fields: [
{
name: 'profile_pic'
},
{
type: 'int',
name: 'age'
},
{
type: 'string',
name: 'last',
mapping: 'name.last'
},
{
type: 'string',
name: 'first',
mapping: 'name.first'
},
{
type: 'string',
name: 'email'
}
],
proxy: {
type: 'memory',
reader: {
type: 'json',
rootProperty: 'items',
totalProperty: 'total',
successProperty: ''
}
}
});
// app/store/Employees.js file
Ext.define('Fiddle.store.Employees', {
extend: 'Ext.data.Store',
pageSize: 30, // items per page
alias: 'store.employees',
model: 'Fiddle.model.Employees',
});
//app.js fule - launch() function
var store = Ext.create('Fiddle.store.Employees');
console.log(store);
Ext.Ajax.request({
url: 'mates.json',
success: function(resp) {
var result = resp.responseText;
console.log(result);
// store.loadRawData(result);
store.loadData(result);
console.log(store);
console.log(store.getAt(0));
},
});
В итоге я получаю в своем store 3386 записей (посимвольно с json-файла) и вот так выглядит первая запись, которую вывожу в консоль:
Что я делаю не так?
И куда правильнее прописывать proxy — в store или в model? В некоторых примерах и в моем рабочем проекте в model, но в большинстве кода встречаемого мной прописывают в store.