Это происходит сбой:
var grdMakes = Ext.extend(Ext.grid.Panel, {
constructor: function(paConfig) {
}
}
Это не происходит:
var grdMakes = Ext.extend(Ext.grid.Panel, {
}
Сбой:
Uncaught TypeError: Cannot read property 'added' of undefined
Почему добавление конструктора приводит к сбою?Я могу сделать это с другими объектами, такими как:
var pnlMakesMaint = Ext.extend(Ext.Panel, {
constructor: function(paConfig) {
}
} // just fine
РЕДАКТИРОВАТЬ
Чтобы пояснить, что я хочу сделать, это то, что я хочу иметь возможность создания объекта свозможность переопределить значения по умолчанию.
var g = new grdMakes({}); // defaults used
var g = new grdMakes({renderTo: Ext.getBody()}); // renderTo overridden
Это работает для всего, кроме Ext.grid.Panel
Также я использую ExtJS 4
РЕШЕНИЕ
Оказывается, расширение устарело в ExtJS 4. Так что я использовал это, и оно работает:
Ext.define('grdMakes', {
extend: 'Ext.grid.Panel',
constructor: function(paConfig) {
var paConfig = Ext.apply(paConfig || {}, {
columns: !paConfig.columns ? [{
header: 'Makes',
dataIndex: 'make'
}, {
header: 'Description',
dataIndex: 'description'
}]: paConfig.columns,
height: !paConfig.height ? 400 : paConfig.height,
renderTo: !paConfig.renderTo ? Ext.getBody() : paConfig.renderTo,
store: !paConfig.store ? stoMakes : paConfig.store,
title: !paConfig.title ? 'Makes' : paConfig.title,
width: !paConfig.width ? 600 : paConfig.width
});
grdMakes.superclass.constructor.call(this, paConfig);
}
}