本文所有思想表达均为个人意见,如有疑义请多批评,如有雷同不甚荣幸。

转载请注明出处:Nutk'Z http://www.cnblogs.com/nutkz/p/3448801.html

在用到ExtJS的扩展控件时经常会想到,这个控件有哪些属性,有哪些方法以及事件。
一般都是把前人用过的,或者是网上down的拿过来改改,如果前人没有使用这个控件的某个属性,而你又需要时就会发现,这怎么连这个功能都没有!!
其实并不一定没有,也可能是设定成了默认属性。
 
那么接下来就看原代码
 
一般控件会采用继承方式(个人认为是继承关系),看ExtJS的源代码也是这么写的
Ext.XXX = Ext.extend(父类, {配置项})
这可以说明你使用的这个控件他继承的来源,也就是他与谁有密不可分的关系
 
然后往下看会发现,在他的配置项里也是存在类似于
XXX: xxx
的属性配置,前者(XXX)是他的配置项名称(Name),后者(xxx)是他的配置内容(Value)
这个在使用该控件的时候是可以重新配置修改的,有时候这里可能隐藏着你需要的属性
 
当然还会发现,有一些是这样写的
XXX: function([params]){}
这样的个人觉得应该是说他具有哪些方法,当然事件应该也会这么写吧。但是因ExtJS已经封装了很多事件,所以在一些扩展控件里就看不到对于事件的定义了。
 
当然我们也可以在ExtJS的源代码中看到事件的定义
onClick : function(e){ this.processEvent('click', e); }
onDblClick : function(e){ this.processEvent('dblclick', e); }
processEvent : function(name, e){ this.view.processEvent(name, e); }
好像很简单吧
 
在然后就可能会看到有一些类似
initComponent: function(){}
初始化之类的函数,initComponent可能是继承来的一个虚方法需要重构的吧(个人觉得是这样),当然也不止这一个方法,但是个人感觉initComponent是一个入口方法吧
 
好了,按照这种思路再剩下的就可以顺藤摸瓜了。
其实这么看来ExtJS并不难,他需要的可能就是最基本JavaScript的知识,当然这方面本人还是很缺乏的。
期待接下来的学习成果。。。

Ext自定义控件 - 自学ExtJS的更多相关文章

  1. ExtJS学习-----------Ext.Object,ExtJS对javascript中的Object的扩展

    关于ExtJS对javascript中的Object的扩展.能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 以 ...

  2. ext.net与extjs的关系

    一.在客户端,ext.net中可以使用extjs的语法. 如发送ajax请求, Ext.Ajax.request({            url: 'Common/getNode',         ...

  3. Ext.tree.Panel Extjs 在表格中添加树结构,并实现节点移动功能

    最近在用Extjs 做后台管理系统,真的非常好用.总结的东西分享一下. 先展示一下效果图 好了,开始吧! 首先说一下我的创建结构: 一.构造内容 这个函数中包括store的创建,treePanel的创 ...

  4. ExtJS学习-----------Ext.String,ExtJS对javascript中的String的扩展

    关于ExtJS对javascript中的String的扩展,能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 以 ...

  5. ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展

    关于ExtJS对javascript中的Array的扩展.能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 因为 ...

  6. [Ext JS 4] Extjs 它 initComponent 和 constructor差分

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

  7. EXT JS认识EXTJS,第一个EXTJS例子

    大部分内容转载自:http://blog.csdn.net/wanghuan203/article/details/8011112 和http://www.cnblogs.com/willick/p/ ...

  8. ExtJS学习-----------Ext.Number,ExtJS对javascript中的Number的扩展

    关于ExtJS对javascript中的Number的扩展,能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 以 ...

  9. ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展(实例)

    (1)clean var arr = [1,2,null,3,'']; alert(Ext.Array.clean(arr)); //clean的对象:(value === null) || (val ...

随机推荐

  1. eclipse插件开发常见的问题及解决办法

    莫名其妙地我的某个Plug-in Projects出现了这样的Error:An API baseline has not been set for the current workspace.虽然后来 ...

  2. 转:hive面试题

    有一张很大的表:TRLOG该表大概有2T左右TRLOG:CREATE TABLE TRLOG(PLATFORM string,USER_ID int,CLICK_TIME string,CLICK_U ...

  3. ArcGIS软件操作——地图配准

    初次写博文,出现措词不当.表述不明确等之类的问题,敬请见谅,但会努力做好.同时,也欢迎各位提出意见,共同交流,共同进步! 直奔主题——运用ArcGIS软件对地图进行配准! 1 数据准备:网络下载的中国 ...

  4. Android解析ActivityManagerService(二)ActivityTask和Activity栈管理

    前言 关于AMS,原计划是只写一篇文章来介绍,但是AMS功能繁多,一篇文章的篇幅远远不够.这一篇我们接着来学习与AMS相关的ActivityTask和Activity栈管理. 1.ActivitySt ...

  5. vue2.0路由写法、传参和嵌套

    前置知识请戳这里 vue-routerCDN地址:https://unpkg.com/vue-router@3.0.1/dist/vue-router.js vue-router下载地址:https: ...

  6. Python学习系列----第三章 控制流

    在python中有三种控制流语句,分别是: if.for.while. 2.1 if 语句 if 语句用来检验一个条件,如果条件为真,我们运行一块语句(称为 if-块),否 则我们处理另外一块语句(称 ...

  7. lsqnonlin函数使用方法

    非线性最小二乘函数  lsqnonlin  格式x = lsqnonlin(fun,x0) %x0 为初始解向量:fun为,i=1,2,-,m,fun返回向量值F,而不是平方和值,平方和隐含在方法中, ...

  8. 用phpstudy搭建的lnmp环境下mysql授权远程连接

    1.使用phpstudy安装的mysql没有放置到可以直接调用的目录里,所以只能使用绝对路径来访问: /phpstudy/mysql/bin/mysql -uroot -proot 2.执行use m ...

  9. 记一次insert因为db file sequential read影响性能导致性能原因的分析

    通过详细的10046 trace发现,大量的io等待分布在以下数据文件上:Misses in library cache during parse: 0Elapsed times include wa ...

  10. easyui学习笔记2—在行内进行表格的增删改操作

    第一篇笔记中记录了如何实现表格的增删改,那个是点击之后跳出来一个对话框然后进行的,这里是在表格本身上进行的操作,也很简单,但是这里发现一个版本问题,也可以说是兼容性问题. 1.首先我们看引用的js和c ...