Extjs4 使用网格作为组件时ExtJs获取错误
我是ExtJs新手,我尝试使用网格作为组件,但在实例化它时它似乎没有初始化 它抛出以下错误:Extjs4 使用网格作为组件时ExtJs获取错误,extjs4,Extjs4,我是ExtJs新手,我尝试使用网格作为组件,但在实例化它时它似乎没有初始化 它抛出以下错误: c is not a constructor http://localhost/xv1/extjs/ext-debug.js Line 6456 错误发生在这一行: var gridVoucher = Ext.create('accountant.gridVoucher'); 以下是完整的代码:正如其他人所提到的,您需要initComponent。此外,您实现网格扩展的方式与我的大不相同。例如,我一
c is not a constructor
http://localhost/xv1/extjs/ext-debug.js
Line 6456
错误发生在这一行:
var gridVoucher = Ext.create('accountant.gridVoucher');
以下是完整的代码:正如其他人所提到的,您需要initComponent。此外,您实现网格扩展的方式与我的大不相同。例如,我一生中从未使用过
Ext.apply
。我不确定你是否做错了,或者只是用了一种正确但不同的方法,但这里是我使用的有效方法
Ext.define('App.teams',
{
extend: 'App.gridBaseClass',//custom base class extends 'Ext.grid.Panel'
initComponent: function(config)
{
this.callParent(arguments);
},
property:'default'
constructor : function(config)
{
config.columns = [...];
config.title = 'my title';
if(!config.width)config.width=300;//something we are allowed to override
//set other configs as needed, whatever you would send to grid.Panel
//example of setting global data from config input
if(config.property) this.property=config.property;
this.callParent(arguments);
}
});
需要注意的重要事项是callParent和initComponent。我希望这对比较不同的方法有所帮助,或者至少是有趣的
编辑:只是确认一下,使用此方法,我们可以使用与您完全相同的方法创建网格
简单地
实际上,除了@nscrob所说的callParent之外,您还可以通过调用
Ext.widget('accounter.gridVoucher')
,哦,顺便说一句,Ext.create接受一个配置参数但不需要,您可以做到:Ext.create('accounter.gridVoucher')
,没有任何问题。您好!是的,但是我尝试做的事情,我得到了同样的错误。我真的不知道还能做什么。看起来网格组件没有初始化,我不知道为什么。在网格凭证定义中将构造函数更改为initComponent。
var grid = Ext.create('App.teams');