在创建自定义类时,先构造(constructor)后初始化(initComponent)。如:(在旧的Extjs 版本中使用 Ext.extend 实现扩展)

      Ext.define('Btn',{          extend:'Ext.button.Button',          initComponent:function(){              alert('后初始化部件启动...');          },          constructor:function(){              this.text = new Date();              this.renderTo = Ext.getBody();                           this.callParent();              alert('先构造函数启动...');          }      });

      Ext.onReady(function(){          Ext.create('Btn');      });
initComponent是在construor里被调用,constructor是在其他地方调用;一个用于具体的创建控件,一个是用于创建控件对象

http://blog.csdn.net/oscar999/article/details/33743171

1. initComponent这个方法是在Ext.Component的构造函数(constructor)中调用的,只有直接或间接继承自 Ext.Component的类才会在constructor里调用initComponent方法

看一下  Ext.AbstractComponent的源码文件 src/AbstractComponent.js

在  constructor方法中调用了initComponent

2.

1)自定义类中的 initComponent 函数中必须调用 callParent();否则 调用者无法初始化这个对象

2)针对button 这样的扩展组件来说,自定义类中的  constructor ,需要调用callParent( arguments);否则 调用者无法初始化这个对象

[html] view plaincopy
  1. this.callParent(arguments);
这里的arguments 是需要的。
(在Extjs 4 之前的版本中, 可能会看到比较多的XXX.superclass.constructor.call 写法)

http://blog.csdn.net/alastormoody/article/details/8251018

Extjs之superclass.constructor.call(this)之理解

Ext.extend()函数提供了直接访问父类构造函数的途径,通过 SubClass.superclass.constructor.call(this);就可以直接调用父类的构造函数,这个函数的第一个参数总是 this,以确保父类的构造函数在子类的作用域里工作。


转载于:https://www.cnblogs.com/givemeanorange/p/5570214.html

Extjs 之 initComponent 和 constructor的区别(转)相关推荐

  1. [Ext JS 4] Extjs 之 initComponent 和 constructor的区别

    initComponent 和 constructor是什么 Extjs 提供的组件还是挺丰富的, 但是有时候需求更丰富. 当Extjs 原生的组件无法实现我们的要求的时候, 就需要扩展Extjs 的 ...

  2. Angular 的 ngOnInit 和 Constructor 的区别

    Angular中根据适用场景定义了很多生命周期函数,其本质上是事件的响应函数,其中最常用的就是ngOnInit.但在TypeScript或ES6中还存在着名为constructor的构造函数,开发过程 ...

  3. Javascript中typeof instanceof constructor的区别

    typeof typeof,是一个运算符,运算中需要一个操作数,运算的结果就是这个操作数的类型,运算的结果是一个字符串.他有一定的局限性,对于对象类型的值,只能得到一个object结果,却不能精确得到 ...

  4. ngOnInit与constructor的区别

    前世今生 Angular会管理一个组件的生命周期,包括组件的创建.渲染.子组件创建与渲染.当数据绑定属性变化时的校验.DOM移除之前毁销. Angular提供组件生命周期钩子便于我们在某些关键点发生时 ...

  5. EXTJs 中icon 与iconCls的区别及用法!

    1.这俩个都是引入小图片 区别在于: (1).icon :"直接写图片在项目上的路径" (2).iconCls:"css样式名称" icon 显示时为下面的添加 ...

  6. 17.EXTJs 中icon 与iconCls的区别及用法!

    转自:https://blog.csdn.net/u013890437/article/details/38315717?utm_source=blogxgwz7

  7. Extjs 代码拾穗

    1.tree grid 添加一行 var rootNode = store.getRootNode(); var newRecord = Ext.create('MatrixDlv',{"s ...

  8. mysql5.7.20linux安装,linux下 mysql5.7.20安装(精华)

    在linux 系统中mysql配置文件的读取顺序为: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 第一步 创 ...

  9. 【ExtJs】TypeError: Cannot read property ‘parentNode‘ of undefined

    分析1.特别注意,ExtJs在定义ID时必须是全局唯一性,当打开两个界面,两个界面中组件ID相同,当关闭其中一个页面时,组件销毁,在另一个页面时将找不到父节点.因为不知道销毁的是哪一个组件. 特别是在 ...

最新文章

  1. Linux中LVM(逻辑卷管理)的使用
  2. Oracle 11g学习笔记(四)
  3. Oracle获取月初/月末/季初/季末/半年初/半年末/年初/年末
  4. Visual Studio 15.5预览版先睹为快
  5. html5音乐播放时间监测,【HTML5】HTML5中video元素事件详解(实时监测当前播放时间)...
  6. 修改linux文本模式下的分辨率
  7. 波士顿房价数据集——随机森林
  8. 课时5 企业Web服务器现场抓鸡案例分享
  9. MacOS 软件 Adobe Photoshop 2022 安装使用详细教程
  10. OpenCalib: 自动驾驶多传感器的一个开源标定工具箱
  11. 玩转Python第三方库库tqdm
  12. Day-26 多线程和多进程
  13. Windows怎么把视频变成GIF,动态图怎么制作
  14. spring-boot只logback日志打印
  15. ArangoDB压测小记
  16. 2021-8-31 学习日记——idea中快捷键alt+insert找不到get和set方法
  17. 华为开发人员与测试人员
  18. 在sqli-liabs学习SQL注入之旅(第二十一关~第三十关)
  19. 俄被踢出SWIFT,地缘冲突推动区块链金融清算行业发展
  20. 醉梦尘缘,花落为谁伤

热门文章

  1. 【牛客 - 303H第十五届浙江大学宁波理工学院程序设计大赛(同步赛)】Protoss and Zerg(快速幂取模,组合数学)
  2. oracle存储过程日志打印,如何在oracle存储过程中逐行打印
  3. android t类型参数,数据绑定Android – 类型参数T具有不兼容的上限:ViewDataBinding和MainActivity...
  4. 超硬核!我统计了BAT笔试面试出现频率最高的五道题,学会了总能碰到一道
  5. Nginx location执行顺序和匹配规则
  6. Redis:03---Redis的启动与配置参数大全
  7. Python- 解决PIP下载安装速度慢
  8. C++基础学习(01)--(介绍,环境配置,基本语法,注释)
  9. 关于计算机展览的英语作文,2015考研英语作文范文精选:选什么东西参加展览?...
  10. 对于以太坊虚拟机 (EVM)及其相关知识的讲解