Ext Objects inheritance (Models)
by Johan Vandeplas
JavaScript
Ext.onReady(function () {
Ext.define('Item', {
extend: 'Ext.data.Model',
fields:[
'id', 'name'
]
});
Ext.define('SpecItem1', {
extend: 'Item',
fields:[
'age'
]
});
Ext.define('SpecItem2', {
extend: 'Item',
fields:[
'size'
]
});
var person = Ext.create('SpecItem1', {
id: 1,
name: 'Donnald',
age: 3
});
var shoe = Ext.create('SpecItem2', {
id: 2,
name: 'Boot',
size: 20
});
var store = Ext.create('Ext.data.Store', {
model: 'Item',
proxy: { type:'memory' }
});
store.add(person);
store.add(shoe);
console.log('store: ', store);
store.each(function(rec){
if(rec instanceof SpecItem1){
console.log('rec in store is SpecItem1: ', rec);
}
if(rec instanceof SpecItem2){
console.log('rec in store is SpecItem2: ', rec);
}
});
});