文档章节

ExtJS4.2学习 php版(二)

lbc19920615
 lbc19920615
发布于 2014/03/31 10:59
字数 560
阅读 332
收藏 3

ExtJS使用命名空间 和 自己构建类的方法 写出了许多可以重用 高效的方法 所以使用ExtJS 类必须了解。

ExtJS4对新的类系统进行了大量的比较彻底的重构,新的架构建立在写在Extjs4库中每一个单独的类。


ExtJS命名规范

  • 类名最好只包含字母,在多数情况下,数字是不鼓励使用的,除非非要用不可,也不要使用下划线,-以及其它非字母字符

MyCompany.useful_util.Debug_Toolbar 不鼓励这样命名    
MyCompany.util.Base64 可接受的命名

  • 类名最好包组织,在适当的名字空间通过使用.来访问对象属性,至少,类名应该有一个顶层的包。例如

MyCompany.data.CoolProxy    
MyCompany.Application

  • ExtJS不允许用Ext做顶部包名 首部和末尾要使用驼峰法 其他要使用小写

MyCompany.form.action.AutoLoad

  • 类名直接映射到存储该类的文件路径,因此,每个文件只能有一个类,如

Ext.util.Observable is stored in path/to/src/Ext/util/Observable.js
Ext.form.action.Submit is stored in path/to/src/Ext/form/action/Submit.js
MyCompany.chart.axis.Numeric is stored in path/to/src/MyCompany/chart/axis/Numeric.js

  • 属性命名

       类属性命名和上面方法以及变量一样,除了当属性是静态常量的时候。

       当属性是静态常量时,字母应该大写。

Ext.MessageBox.YES = "Yes"
Ext.MessageBox.NO = "No"
MyCompany.alien.Math.PI = "4.13"


ExtJS新的定义类的方式

Ext.define(className, members, onClassCreated);

className:类名

members:这是一个对象,它表示一个以键值对形式表示的类成员集合。

onClassCreated:这是一个可定制的回调函数,当这个类所依赖的类都准备完毕时便会调用这个回调函数,并且类本身将会完全创建。由于有这个类创建新异步属性,这个回调在很多情况都会很有用。以下是一个例子

Ext.define('My.sample.Person', {
    name: 'Unknown',

    constructor: function(name) {
        if (name) {
            this.name = name;
        }
    },

    eat: function(foodType) {
        alert(this.name + " is eating: " + foodType);
    }
});

var aaron = Ext.create('My.sample.Person', 'Aaron');
    aaron.eat("Salad"); // alert("Aaron is eating: Salad");

上面用Ext.cteate()方法创建了类My.sample.Person的实例。可以使用new关键字(new My.sample.Person())。但是习惯是总是使用Ext.create因为它在动态加载上有优势。有关动态加载在Extjs-start中有提到。

© 著作权归作者所有

lbc19920615
粉丝 6
博文 45
码字总数 11562
作品 0
南京
程序员
私信 提问
ExtJS4.2学习 php版(八)

最近在使用extjs4.2 发现要使用Ext.util.Observable这个类和以前不同 extjs4.2的用法 使用extend时 Ext.define("children",{ extend: 'Ext.util.Observable' constructor:function(config); ......

lbc19920615
2014/04/05
309
0
ExtJS4.2学习(php版)

ExtJS官网 http://www.sencha.com/products/extjs/ 浏览器支持 Ext JS 4支持所有主流web浏览器,从Internet Explorer 6到最新版本的Google Chrome。然而,在开发过程中,我们建议您选择以下浏览...

lbc19920615
2014/03/30
207
0
ExtJS4.2学习 php版(三)

我们先定义一个Person类 ExtJS4采用define方法 Ext.define("My.Person",{ name : "", constructor : function(name) {this.name = name;}, say : function() {var me = this;alert("My name......

lbc19920615
2014/03/31
240
0
ExtJS4.2学习 php版(六)

ExtJS Ext.data.proxy.Memory //定义模型Ext.define('User', { extend: 'Ext.data.Model', fields: [ {name: 'id', type: 'int'}, {name: 'name', type: 'string'}, {name: 'phone', type: '......

lbc19920615
2014/04/03
213
0
ExtJS4.2学习 php版(五)

ExtJS使用model来表示现实世界中的模型 有点类似于数据库的table Java的class Ext.define("User", {extend : "Ext.data.Model",fields : [{name : "name", type : "string"},{name : "age",......

lbc19920615
2014/04/02
98
0

没有更多内容

加载失败,请刷新页面

加载更多

YUM仓库配置及命令详解

导读 通过源代码编译的方式安装程序在灵活性、可定制性方面具有无可比拟的优势,但也正因为这种特性给管理员带来了额外的维护开销,当应用在大规模的服务器群集时存在一定的局限性。那么就需...

问题终结者
38分钟前
9
0
docker初学者

docker简介 在真正使用这项技术之前很难深刻的理解它的概念。 从简单的方面来说,docker就是一个轻量级的虚拟机。接下去的学习首先不妨抱着这个想法来看,让后慢慢寻找差别,最终我们会回来试...

街角的小丑
今天
13
0
了解下Hz单位的意思

今天看到计组的突然看到Hz这个单位,突然不知道它是啥意思,就百度了解啦下。 赫,是频率的基本单位,为纪念验证电磁波存在的德国物理学家海因里希·鲁道夫·赫兹(Heinrich Rudolf Hertz)而...

南桥北木
今天
9
0
Mysql的sql_mode模式

sql_mode 是一个很容易被忽视的配置,宽松模式下可能会被输入一些非准确数据,所以生产环境下会要求为严格模式,为了保持生产环境和开发环境,测试环境一致性,我们开发环境和测试环境也要配...

贾峰uk
今天
11
0
Qt程序打包发布方法(使用官方提供的windeployqt工具)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/toTheUnknown/article/details/81748179 如果使用到了Qt ...

shzwork
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部