Вот такая проблема. Я хочу создать свой класс унаследовав его от store. прописываю вот так:
Ext.define("Ext.data.Store2",
{
extend: 'Ext.data.Store',
idProperty: 'id',
remoteSort: true,
proxy:
{
type: 'ajax',
actionMethods:
{
read: 'POST'
},
reader:
{
root: 'data',
totalProperty: 'totalCount'
},
simpleSortMode: true
},
sorters: [
{
property: 'id',
direction: 'ASC'
}],
constructor: function(config)
{
this.proxy.url = config.url;
Ext.data.Store2.superclass.constructor.call(this, config);
}
});
Теперь создаем 2 экземпляра класса:
var store1 = Ext.create("Ext.data.Store2",
{
pageSize: 20,
fields: ['id', 'name'],
url: 'data1.php',
autoLoad: true,
listeners:
{
load:
{
fn: function()
{
console.log(this.model.modelName);
console.log(this.data.items[0].id);
console.log(this.data.items[0].data);
}
}
}
});
var store2 = Ext.create("Ext.data.Store2",
{
pageSize: 20,
fields: ['id', 'datetime_create'],
url: 'data2.php',
autoLoad: true,
listeners:
{
load:
{
fn: function()
{
console.log(this.model.modelName);
console.log(this.data.items[0].id);
console.log(this.data.items[0].data);
}
}
}
});
после загрузки сторов в консоль выводятся данные. но выводятся не так как надо.
во втором сторе поля почемуто берутся из первой. вот то что вывелось:
Ext.data.Store.ImplicitModel-ext-gen1022
Ext.data.Store.ImplicitModel-ext-gen1021-1
Object {id: "1", name: ""}
Ext.data.Store.ImplicitModel-ext-gen1021
Ext.data.Store.ImplicitModel-ext-gen1021-1
Object {id: "1", name: "google"}
вот во втором варианте мы видим поля id, name. хотя должно быть id, datetime_create
подскажите как правильно прописать класс.