Какие шаблоны были успешными при сопоставлении модели с несколькими повторяющимися структурами. Мне нужно смоделировать и создать сетку с записью с несколькими столбцами, которые в основном являются одной и той же повторяющейся структурой.Модель ExtJS с повторяющимися структурами
Ext.define('Ep.mm.model.MyComparison', {
var derived = function(val,)
extend: 'Ext.data.Model',
fields : [
{name:'id',type:'string'},
{name:'count',type:'number'},
{name:'special',type:'number'},
{name:'A_a',type:'number'},
{name:'A_b',type:'number'}
{name:'A_derived',renderer = function(val,meta,rec){return rec.get('A_b')-rec.get('A_a')}}
{name:'B_a',type:'number'},
{name:'B_b',type:'number'}
{name:'B_derived',renderer = function(val,meta,rec){return rec.get('B_b')-rec.get('B_a')}}
{name:'C_a',type:'number'},
{name:'C_b',type:'number'}
{name:'C_derived',renderer = function(val,meta,rec){return rec.get('C_b')-rec.get('C_a')}}
]
});
я, вероятно, в конечном итоге с моделями/магазинах, которые отличаются только в число раз эта структура сервера повторы (А) (А, В) (А, В, С, D). Есть ли способ использовать общую модель для каждого из A, B, C, D и просто повторно использовать общую модель в качестве типа. Это нечто похожее на «вложенную» структуру.
Ext.define('MyType',{
extend :'Ext.data.Model',
fields : [
{name : 'a', type:'number'},
{name : 'b', type:'number'},
{ name : 'derived',
convert : function(value, record) {
return record.get('a') - record.get('b');
}
}
]
}
Тогда MyComparison будет определяться как
Ext.define('Ep.mm.model.MyComparison',{
extend : 'Ext'data.Model',
fields : [
{name:'A', type:'MyType'}
{name:'B', type:'MyType'}
{name:'C', type:'MyType'}
]
});
Я знаю, что это не совсем правильно, но это своего рода функциональности я пытаюсь создать. Возможно, используя тип ассоциации 'hasOne'?
Это довольно близко к тому, что я думал, в сочетании с агрегированием всех данных A_ * в одно поле, все данные B_ * в другое поле. Поскольку данные A_ * и B_ * имеют одинаковый набор полей, я надеялся, что их способ использовать другую модель в качестве типа поля. Я уточню вопрос, чтобы прояснить это. – gbegley