Extjs 之 initComponent 和 constructor的区别(转)
在创建自定义类时,先构造(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);否则 调用者无法初始化这个对象
- 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的区别(转)相关推荐
- [Ext JS 4] Extjs 之 initComponent 和 constructor的区别
initComponent 和 constructor是什么 Extjs 提供的组件还是挺丰富的, 但是有时候需求更丰富. 当Extjs 原生的组件无法实现我们的要求的时候, 就需要扩展Extjs 的 ...
- Angular 的 ngOnInit 和 Constructor 的区别
Angular中根据适用场景定义了很多生命周期函数,其本质上是事件的响应函数,其中最常用的就是ngOnInit.但在TypeScript或ES6中还存在着名为constructor的构造函数,开发过程 ...
- Javascript中typeof instanceof constructor的区别
typeof typeof,是一个运算符,运算中需要一个操作数,运算的结果就是这个操作数的类型,运算的结果是一个字符串.他有一定的局限性,对于对象类型的值,只能得到一个object结果,却不能精确得到 ...
- ngOnInit与constructor的区别
前世今生 Angular会管理一个组件的生命周期,包括组件的创建.渲染.子组件创建与渲染.当数据绑定属性变化时的校验.DOM移除之前毁销. Angular提供组件生命周期钩子便于我们在某些关键点发生时 ...
- EXTJs 中icon 与iconCls的区别及用法!
1.这俩个都是引入小图片 区别在于: (1).icon :"直接写图片在项目上的路径" (2).iconCls:"css样式名称" icon 显示时为下面的添加 ...
- 17.EXTJs 中icon 与iconCls的区别及用法!
转自:https://blog.csdn.net/u013890437/article/details/38315717?utm_source=blogxgwz7
- Extjs 代码拾穗
1.tree grid 添加一行 var rootNode = store.getRootNode(); var newRecord = Ext.create('MatrixDlv',{"s ...
- mysql5.7.20linux安装,linux下 mysql5.7.20安装(精华)
在linux 系统中mysql配置文件的读取顺序为: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 第一步 创 ...
- 【ExtJs】TypeError: Cannot read property ‘parentNode‘ of undefined
分析1.特别注意,ExtJs在定义ID时必须是全局唯一性,当打开两个界面,两个界面中组件ID相同,当关闭其中一个页面时,组件销毁,在另一个页面时将找不到父节点.因为不知道销毁的是哪一个组件. 特别是在 ...
最新文章
- Linux中LVM(逻辑卷管理)的使用
- Oracle 11g学习笔记(四)
- Oracle获取月初/月末/季初/季末/半年初/半年末/年初/年末
- Visual Studio 15.5预览版先睹为快
- html5音乐播放时间监测,【HTML5】HTML5中video元素事件详解(实时监测当前播放时间)...
- 修改linux文本模式下的分辨率
- 波士顿房价数据集——随机森林
- 课时5 企业Web服务器现场抓鸡案例分享
- MacOS 软件 Adobe Photoshop 2022 安装使用详细教程
- OpenCalib: 自动驾驶多传感器的一个开源标定工具箱
- 玩转Python第三方库库tqdm
- Day-26 多线程和多进程
- Windows怎么把视频变成GIF,动态图怎么制作
- spring-boot只logback日志打印
- ArangoDB压测小记
- 2021-8-31 学习日记——idea中快捷键alt+insert找不到get和set方法
- 华为开发人员与测试人员
- 在sqli-liabs学习SQL注入之旅(第二十一关~第三十关)
- 俄被踢出SWIFT,地缘冲突推动区块链金融清算行业发展
- 醉梦尘缘,花落为谁伤
热门文章
- 【牛客 - 303H第十五届浙江大学宁波理工学院程序设计大赛(同步赛)】Protoss and Zerg(快速幂取模,组合数学)
- oracle存储过程日志打印,如何在oracle存储过程中逐行打印
- android t类型参数,数据绑定Android – 类型参数T具有不兼容的上限:ViewDataBinding和MainActivity...
- 超硬核!我统计了BAT笔试面试出现频率最高的五道题,学会了总能碰到一道
- Nginx location执行顺序和匹配规则
- Redis:03---Redis的启动与配置参数大全
- Python- 解决PIP下载安装速度慢
- C++基础学习(01)--(介绍,环境配置,基本语法,注释)
- 关于计算机展览的英语作文,2015考研英语作文范文精选:选什么东西参加展览?...
- 对于以太坊虚拟机 (EVM)及其相关知识的讲解