반복 구조가 적은 모델을 매핑 할 때 성공한 패턴은 무엇입니까? 필자는 그리드 뷰를 모델링하고 작성해야하며 기본적으로 동일한 반복 구조 인 몇 개의 열이있는 레코드를 작성해야합니다.반복 구조가있는 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')}}
]
});
는 I 서버 모델/횟수 만 다른 점포로 끝날 가능성이 생각이 구조 반복 (A) (A, B) (A, B, C, 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