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

转载请注明出处: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. Django—middleware

    一.Django中间件的请求周期 我们从浏览器发出一个请求 Request,得到一个响应后的内容 HttpResponse ,这个请求传递到 Django的过程如下: 也就是说,每一个请求都是先通过中 ...

  2. mybatis支持的jdbc类型

    参考mybatis的枚举JdbcType源码: 关于这些类型mybatis是如何处理可以看一下TypeHandler类的源码.

  3. 【Leetcode】【Medium】Find Peak Element

    A peak element is an element that is greater than its neighbors. Given an input array where num[i] ≠ ...

  4. linux下清空文件的几种方式以及对比

    : > filename> filenamecat /dev/null > filename上面这3种方式,能将文件清空,而且文件大小为0而下面两种方式,会让文件中存在空格,导致大小 ...

  5. 架设Git服务器

    架设Git服务器项目 Git Candy:http://github.com/Aimeast/GitCandy/ AE大神的作品, Git Candy© 是一个基于ASP.NET MVC的Git分布式 ...

  6. 用CSS写扫描二维码图标

    代码如下: <style>.icon{margin:300px;width:30px;height:30px;position:relative}.icon .b{border:2px s ...

  7. Oracle基础操作

    数据库的定义.作用介绍: 什么是数据库? 按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 数据库的发展史: 起始于1962年,1968年在IBM出现 数据库在测试过程中的作用: 需 ...

  8. GPRS研究(3):NO CARRIER错误的含义解释

    NO CARRIER(必须是大写)是一个由猫向其所附着的设备(典型的就是一个计算机)发来的文本响应信息,表示猫没有连接到远程系统.NO CARRIER是由Hayes指令集定义的,由于Hayes猫的普及 ...

  9. Android进阶笔记16:onInterceptTouchEvent、onTouchEvent与onTouch

    1. onTouch方法:onTouch方法是View的 OnTouchListener借口中定义的方法,处理View及其子类被touch是的事件处理.当一个View绑定了OnTouchLister后 ...

  10. PHP语言开发微信公众平台(订阅号)之curl命令(补充)

    在之前的一篇随笔中,博主在调用curl命令上传文件时会经常出现上传方法过时的情况.如下图所示: 所以,我们只需要把上传方法换成创建CURLFile 类即可.如下所示 $ch = curl_init() ...