Ext.js4.2.1 Ext.define

一:描述

define(String className, Object data, Function createdFn): Ext.Base

define方法最多接受3个参数,className(类的名字),data(Object对象),createdFn(回调函数)
常用于 定义一个类,覆盖一个类 或者扩展一个类的属性或方法。

二:方法讲解

点击(此处)折叠或打开

  1. Ext.define("Person", {
  2.             config : {
  3.                 Name : '',
  4.                 Age : 0
  5.             },
  6.             Say : function(msg) {
  7.                 Ext.Msg.alert(this.Name + " Says:", msg);
  8.             },
  9.             constructor : function(config) {
  10.                 this.initConfig(config);
  11.             }
  12.         });

  13.         Ext.define("Animal", {
  14.             Sing : function() {
  15.                 Ext.Msg.alert("Sing", "lalalalalallalalal");
  16.             }
  17.         });

  18.         Ext.define("MyApp.Developer", {
  19.             extend : 'Person',
  20.             mixins : {
  21.                 canSing : 'Animal'
  22.             },
  23.             alias : 'Developer',
  24.             requires : [],
  25.             config : {},
  26.             Coding : function(code) {
  27.                 Ext.Msg.alert(this.Name + " coding", code);
  28.             },
  29.             statics : {

  30.                 test : function(msg) {
  31.                     return "Test " + msg;
  32.                 }
  33.             }
  34.         });

  35.         var Alex = Ext.create("Developer", {
  36.             Name : "Alex",
  37.             Age : 26
  38.         });

  39.         Alex.setAge(33);
  40.         alert(Alex.getAge());
  41.         alert(MyApp.Developer.test('any way!'));
  42.         Alex.Sing();
  43.         Alex.Coding("int i=1;");


1.config
配置项,会调用this.initConfig(config)将配置项初始化,每个配置项自动生成4个函数:get,set,reset,apply 

2.extend
 用于类的继承

3.mixins  
类的混合, 和Ext.override 类似。但它不会像override 那样,覆盖原有的功能。

4. alias
类的别名

5. requires
ExtJS4的requires是新增的机制,主要是实现异步加载机制。这样在不点击对应的按钮或者选项的时候就不会加载对应的js文件,提高了加载速度和用户等待时间。 
requires机制的实现通过一个Ext.Loader.setConfig函数来设置文件寻找的映射目录,然后在需要用到对应js文件的时候使用Ext.require进行加载。 

6.statics
可以在类中定义静态的方法



三:其它

1.Ext.apply(object,config,[defaults ] ):Object

该方法包含三个参数,第一个参数是要拷贝的目标对象,第二个参数是拷贝的源对象,第三个参数是可选的,表示给目标对象提供一个默认值。可以简单的理解成把第三个参数(如果有的话)及第二个参数中的属性拷贝给第一个参数对象

2.Ext.applyIf(object,config ):Object

功能跟apply一样,只是不会拷贝那些在目标对象及源对象都存在的属性

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28624388/viewspace-2143328/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28624388/viewspace-2143328/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值