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
SOLUTION
事實證明,延長在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);
}
}
而不是Ext.extemd你可以嘗試Ext.override.And我的懷疑是你想要做的構造嗎?我的意思是你想重寫基礎構造函數,否則你需要使用它像方法? – Unknown
同樣的錯誤。我只想做一些事情:'var g = new grdMakes({});'或者,能夠:'var g = new grdMakes({renderTo:Ext.getBody()})'並覆蓋默認 – cbmeeks
你在ExtJS3或4中試試這個嗎? – Unknown