0
에서 동적으로 클래스를 확장하고이 코드를 사용해야합니다확장 클래스를 동적으로 ExtJS로
Calc.grid.Table["Table"+key] = function(config) {
config = config || {};
Ext.applyIf(config,{
id: 'calc-grid-table'+key
,baseParams: {
action: 'mgr/calc/calcGetTable'+key
,query: 'Calc'+key
}
});
Calc.grid.Table["Table"+key].superclass.constructor.call(this,config)
};
Ext.extend(Calc.grid.Table["Table"+key],Calc.grid.Table);
Ext.reg('calc-grid-table'+key,Calc.grid.Table["Table"+key]);
를하지만 나에게 오류 제공 :
Uncaught TypeError: Cannot read property 'superclass' of undefined
나는이
로 변경 시도를this.superclass.constructor.call(this,config)
그러나 오류는
입니다.문제는 동적 리터럴에 있습니다. 내가 좋아하면 잘 작동합니다.
Calc.grid.Table.Table21 = function(config) {
config = config || {};
Ext.applyIf(config,{
id: 'calc-grid-table'+21
,baseParams: {
action: 'mgr/calc/calcGetTable'+21
,query: 'Calc'+21
}
});
Calc.grid.Table.Table21.superclass.constructor.call(this,config)
};
Ext.extend(Calc.grid.Table.Table21,Calc.grid.Table);
Ext.reg('calc-grid-table'+21,Calc.grid.Table.Table21);
어떻게 해결할 수 있습니까? 내가 도대체 뭘 잘못하고있는 겁니까?
고지.
생성자 전에 변경이라고 key''가능성이 높습니다. 더 많은 코드를 보여줄 수 있습니까? – user123444555621
@ Pumbaa80, 정말 고마워요! 그것은 문제였습니다. 키가 루프에서 반복되었습니다. 이제 새로운 Exeption "Uncaught TypeError : 정의되지 않은"stopEditing '메서드를 호출 할 수 없습니다. 이 문제를 일으킬 수있는 어떤 생각이 있습니까? – artaskerov