EXTjs的方法总结

1.onReady

只有在Ext框架全部加载完后才能在客户端的代码中使用Ext,而Ext的onReady正是用来注册在Ext框架及页面的html代码加载完后,所要执行的函数。

2.define

创建类,可以继承其他类,也可以被继承

Ext.onReady(function () {
  //创建一个类,类名:TextClass,具有两个属性:A、B
  Ext.define('TextClass', {     A: 'a',     B: 'b'   });   //创建一个类,继承TextClass   Ext.define("TextClass2", {     extend: 'TextClass', //继承TextClass     C: 'c'//TextClass2特有的属性   })   var textClass2 = new TextClass2();   Ext.Msg.alert("TextClass2属性", textClass2.A + " " + textClass2.B + " " + textClass2.C) //输出结果为 a b c });

 

3.create 

实例化类,在EXTJS4中建议用create方法实例化类

Ext.onReady(function () {
  //创建一个类,类名:TextClass,具有两个属性:A、B
  Ext.define('TextClass', {     A: 'a',     B: 'b'   });   var textClass = Ext.create("TextClass")   Ext.Msg.alert('textClass属性', textClass.A + ' ' + textClass.B) //输出结果为 a b });

 

4.apply

复制TextClass的属性到textClass,已经有的不替换

5.applyIf

复制TextClass的属性到textClass,已经有的将替换

6.constructor

构造器

Ext.onReady(function () {
  //创建一个类,类名:TextClass,具有两个属性:A、B
  Ext.define('TextClass', {
  A: 'a',
  B: 'b',
  constructor: function (o) {
    //复制o中的所有属性到自身,如果类中存在同名属性,就不复制
    Ext.applyIf(this, o);
  }
});

 

var textClass = Ext.create("TextClass", {
A: 'A',
B: 'B',
C: 'C'
})

Ext.Msg.alert('textClass属性', textClass.A + ' ' + textClass.B + ' ' + textClass.C) //显示 a b C
});  

 

7.mixins

类似于面向对象中的多继承

Ext.define('TextClass3', {
  //继承TextClass、TextClass2
  mixins: {
  TextClass: 'TextClass',
  TextClass2: 'TextClass2'
  }
})

 

8.statics

定义静态变量

9.config

属性包装器,为属性提供get和set方法 

Ext.onReady(function () {
  //创建一个类,类名:TextClass,具有两个属性:A、B
  Ext.define('TextClass', {
    A: 'a',
    B: 'b',
    statics: {
    C: 'C'
  },

  config: {
    configProperty: 'how can i get this property'
  }
});

configProperty 就有了get和set方法

//通过set方法设置属性的值,注意,包装器会把属性的头字母大写
textClass.setConfigProperty("set this property's value");

//通过get方法展示属性值
Ext.Msg.alert('configProperty属性的值是:', textClass.getConfigProperty()); //显示结果:set this property's value
});  

 

10.require

异步加载js文件,这个页面需要用到哪些组件,然后就预先加载,多余不用加载的组件就不管他.提高运行速度.一般写在脚本开始的地方。

Ext.require([
  'Ext.tab.*',
  'Ext.window.*',
  'Ext.tip.*',
  'Ext.layout.container.Border'
]); 

 

11.对象选择

选择html控件:Ext.getDom(对象的ID)
选择EXT元素:Ext.get(对象的ID)     
选择EXT组件:Ext.getCmp(对象的ID)

12、up、down、child方法

up:根据CSS语法获取当前组件上层的控件,如果有多个符合条件,只返回第一个
down:根据CSS语法获取当前组件下层的控件,如果有多个符合条件,只返回第一个
child:根据CSS语法获取当前组件下一层的控件,如果有多个符合条件,只返回第一个
//获取属性name为telephone的textfield组件
var t = Ext.ComponentQuery.query("textfield[name=telephone]")[0]

//获取组件t上面的第一个panel组件
t.up("panel");

13 对数组进行遍历

Ext.Array.each(datas,function(model){
alert(model.get('name'))
})


Ext.get() 通过dom中的id进行查找,但不能修改value
Ext.getDom() 通过dom中的id进行查找,可以修改value
Ext.getCmp() 通过组件中的Id进行查找


addManageListener 受管制的监听
可以由一个组件A绑定 另外一个组件B的监听事件,当A组件 destroy时,B组件的监听也消失

 

posted @ 2018-04-06 23:04  林被熊烟岛  阅读(186)  评论(0)    收藏  举报