Ext组件化编程是用initcomponent还是constructor
Ext组件化编程是用initComponent还是constructor好像2种“重写”的方法都可以实现组件化编程;具体的项目中到底是试用那一种呢?哪些情况下使用哪种方式...
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);
}
) 展开
好像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);
}
) 展开
展开全部
1)initComponent这个方法是在Ext.Component的构造函数(constructor)中调用的,只有直接或间接继承自 Ext.Component的类才会在constructor里调用initComponent方法。这个方法是在constructor中被调用的,如果不调用,它默认不会在构造时被执行。而且你可以看一下Ext.Component的构造函数,在调用this.initComponent()这个方法前后都会有别的一些处理,所以这两个东西不等,不过一般的讲继承自Ext的组件的类,都会在new的时候调用到initComponent .
2)在一系列的继承中要注意的是,如果重写了构造函数,则应该在必要的时候调用超类(superclass)的构造函数,initComponent和onRender也一样。否则可能会造成一些不必要的麻烦。
2)在一系列的继承中要注意的是,如果重写了构造函数,则应该在必要的时候调用超类(superclass)的构造函数,initComponent和onRender也一样。否则可能会造成一些不必要的麻烦。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询