objA에서 objB 개체 속성을 적용하려고하지만 Ext.apply가 첫 번째 수준의 개체 만 함께 적용되는 방식으로 결함이 있거나 깨졌습니다.Ext.apply를 사용하여 하위/하위 객체를 다른 객체와 결합하는 더 좋은 방법이 있습니까?
예 :
var objA = {
name: 'objA',
baseParams: {
cols: [1,2,3,4,5]
}
};
//used in subclass
var objB = {
name: 'objB',
baseParams: {
limit: 50,
sort: 'name'
}
};
//used in baseclass
var objC = {
name: 'objC',
baseParams: {
as_hash: true,
limit: 20
}
};
Ext.apply(objB,objA); //used in subclass
Ext.apply(objC,objB); //used in baseclass
예 출력됩니다 :이 출력 대신 (예상 출력)하고 싶습니다
obj = {
name: 'objA',
baseParams: {
cols: [1,2,3,4,5]
}
};
는 :
obj = {
name: 'objA',
baseParams: {
cols: [1,2,3,4,5],
as_hash: true,
limit: 50,
sort: 'name'
}
};
어떻게 일을하지 않고 달성 할 수 이?
// subclass:
var bpTemp = {};
bpTemp.baseParams = Ext.apply(objB.baseParams, objA.baseParams);
Ext.apply(objB,objA);
Ext.apply(objB,bpTemp);
// base class:
var bpTemp = {};
bpTemp.baseParams = Ext.apply(objC.baseParams, objB.baseParams);
Ext.apply(objC,objB);
Ext.apply(objC,bpTemp);
흥미로운 질문, 좋은 해결책을 기대 – ChrisR
감사를 찾고, 여전히하지만 대답을 찾고. – CincauHangus