这会崩溃:
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);
}
}发布于 2011-08-09 15:17:32
Ok.But您的代码看起来像ExtJS3。因为Ext.extend在扩展的ExtJS4 version.Instead中已经过时,所以您可以使用define.For引用,您可以检查以下url:
http://docs.sencha.com/ext-js/4-0/#/api/Ext-method-extend
Afaik,对于覆盖默认选项,这并不是way.You使用Ext.override的完美需求。
例如:
Ext.override(Ext.grid.Panel,{
lockable : true
});就像上面一样,您必须重写默认选项。
https://stackoverflow.com/questions/6998324
复制相似问题