ExtJS4.2学习 php版(二)

ExtJS使用命名空间 和 本身构建类的方法 写出了许多能够重用 高效的方法 因此使用ExtJS 类必须了解。
架构

ExtJS4对新的类系统进行了大量的比较完全的重构,新的架构创建在写在Extjs4库中每个单独的类。
异步


ExtJS命名规范
函数

this

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

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

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

MyCompany.data.CoolProxy    
MyCompany.Application

  • ExtJS不容许用Ext作顶部包名 首部和末尾要使用驼峰法 其余要使用小写
    orm

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

  • 属性命名it

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

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

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中有提到。

相关文章
相关标签/搜索