皮皮网

【如何删除建站源码】【javabase64源码】【打车源码是什么】extjs 项目源码_exui源码

2024-11-23 12:52:05 来源:王者猜词源码

1.Extjs 之 initComponent 和 constructor的区别
2.extjs 值得学习吗

extjs 项目源码_exui源码

Extjs 之 initComponent 和 constructor的区别

       Extjs 提供的组件还是挺丰富的, 但是有时候需求更丰富。

       å½“Extjs 原生的组件无法实现我们的要求的时候, 就需要扩展Extjs 的组件实现自制组件了。

       é™¤äº†è¿™ç§ä½¿ç”¨çŠ¶å†µï¼Œ 有时候对于一些相同却有使用很多的配置, 可能像把它独立出来,单独设为一种组件供大家调用, 节省开发时间和提高代码重用度。

       initComponent 和 constructor 就是Extjs 提供用来实现继承和扩展的方式。

       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 plaincopyprint?目源码e码如何删除建站源码

       this.callParent(arguments);

       this.callParent(arguments);

       è¿™é‡Œçš„arguments 是需要的。

       (在Extjs 4 之前的版本中, 可能会看到比较多的XXX.superclass.constructor.call 写法)

       sencha 的官网中有一篇针对这两个区别的讨论:

       /forum/showthread.php?-constructor-Vs-initComponent

       ä¸è¿‡è¯­æ³•æ˜¯åŸºäºŽExtjs 3 来讨论的, 笔者觉得作用不是很大。

extjs 值得学习吗

       å¦‚果需要的话,值得学习

       ä¸ç”¨å†è°ƒcss,降低了工作量;

       æ–‡æ¡£å’Œä¾‹å­é½å…¨ï¼Œæ˜¯å¼€æºçš„,方便查看源码;

       ç»„件丰富,可以自行封装组件;

       æ´»è·ƒçš„Extjs开发交流q群: