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

转载请注明出处: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. [转]JSON.parse()和JSON.stringify()

    parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...

  2. 我的视频网站开通,第一个 ArcGIS文本文件,excel文件生成点操作发布,希望大家支持

    网站地址:http://i.youku.com/gisoracle第一个学习视屏:ArcGIS文本文件,excel文件生成点操作http://v.youku.com/v_show/id_XNzM3Nz ...

  3. Android recyclerview删除item刷新列表

    删除item坑 mModels.remove(i); notifyItemRemoved(i); //必须调用这行代码 notifyItemRangeChanged(i, mModels.size() ...

  4. Android中的this、Activity、Context等

    Android中的this.Activity.Context.Application等虽然有相似之处,但是不能乱用,每一个都有自己的特点.用的时候不能太随意了. 避免context相关的内存泄露,注意 ...

  5. C# 转换运算符:implicit(隐式),explicit(显示)

    //A类 class Cls1 { public string name; //构造函数 public Cls1(string name) { this.name = name; } //implic ...

  6. linux中进入mysql时报错Access denied for user 'root'@'localhost' (using password: YES)解决方案

    之前在linux中装完mysql后直接在命令行窗口输入mysql就会进入数据库了,但是今天输入mysql命令后直接报错,如下图: 之后输入:mysql -uroot -p 提示输入密码:***** 还 ...

  7. IntelliJ IDEA下"Cannot resolve symbol 'log'"的解决方法

    转自:https://my.oschina.net/greatqing/blog/703989 最近接手了一个Maven项目,IDE使用的是IntelliJ IDEA,导入后可以编译运行.但是输出日志 ...

  8. CentOS7 Firewall超详细使用方法

    CentOs7改变的最大处就是防火墙了,下面列用了常用的防火墙规则,端口转发和伪装 一.Firewalld基础规则 --get-default-zone 打印已设置为默认区域的当前区域,默认情况下默认 ...

  9. June 20th 2017 Week 25th Tuesday

    Care and diligence bring luck. 谨慎和勤奋,带来好运气. In my opinion, care and diligence may just gurantee us a ...

  10. 我不 大冰2017新书pdf免费下载

    善意能消戾,善意能得缘,善意能带业往生,善意能回头是岸.善意能够帮人捕捉并建立起独特的幸福感. “我不”是一种善意坦然,也是一种善意的随缘,更是一句善意的自省. <我不>——百万级畅销书作 ...