Ext组件化编程是用initcomponent还是constructor

本文探讨了Ext组件化编程中initComponent与constructor的应用场景及优劣对比。initComponent适用于直接或间接继承自Ext.Component的类,并在构造函数中被调用;而constructor则需手动调用超类构造函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ext组件化编程是用initcomponent还是constructor

2010-07-23 10:20 yooyoozoo  |  浏览 5249 次
  编程
Ext组件化编程是用initComponent还是constructor

好像2种“重写”的方法都可以实现组件化编程;

具体的项目中到底是试用那一种呢?

哪些情况下使用哪种方式呢?选择哪那一种的优势是什么呢?

--constructor
TsGrid = Ext.extend(Ext.grid.GridPanel, {

 constructor : function(){

  TsGrid.superclass.constructor.call(this, {
/*your code*/
                 })
})

--initComponent
TsGrid = Ext.extend(Ext.grid.GridPanel, {
 initComponent : function(){
                /*your code*/
  TsGrid.superclass.initComponent.call(this);
 }
)
2010-08-06 13:47 提问者采纳
1)initComponent这个方法是在Ext.Component的构造函数(constructor)中调用的,只有直接或间接继承自 Ext.Component的类才会在constructor里调用initComponent方法。这个方法是在constructor中被调用的,如果不调用,它默认不会在构造时被执行。而且你可以看一下Ext.Component的构造函数,在调用this.initComponent()这个方法前后都会有别的一些处理,所以这两个东西不等,不过一般的讲继承自Ext的组件的类,都会在new的时候调用到initComponent .
2)在一系列的继承中要注意的是,如果重写了构造函数,则应该在必要的时候调用超类(superclass)的构造函数,initComponent和onRender也一样。否则可能会造成一些不必要的麻烦。
评论  |  22  1

csf851023 | 五级 采纳率43%

擅长: 暂未定制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值