Мне нужно динамически расширить класс и использовать этот код:
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)
но ошибка
Uncaught SyntaxError: Unexpected identifier
Проблема в динамических литералах. Когда я делаю так, он отлично работает
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
изменится до вызова конструктора. Можете ли вы показать еще немного кода? - person user123444555621   schedule 05.05.2012