ext js 之属性和方法的使用

来源:互联网 发布:智能运动手环 知乎 编辑:程序博客网 时间:2024/05/17 22:34
Ext.apply
      说明:将配置文件中的属性复制到特定的对象

Ext.applyIf
      说明:将配置文件中的属性复制到特定对象,如果对象中保护配置文件中的属性,就不复制

constructor属性
      说明:在定义类的时候,定义类的构造函数

1、apply与applyIf的使用

      Ext.define('class1',{
            A:"a",
            B:"b",
            constructor: function (o){
                //复制o中的所有属性到自身
                Ext.apply(this,o);
                A:"A",
                B:"B",
                C:"C"     =   o
                this        =   类class1                                       

            }
        });
        
        var obj = Ext.create("class1",{
            A:"A",
            B:"B",
            C:"C"
        });
        
        Ext.Msg.alert("obj属性",obj.A+"   "+obj.B+"     "+obj.C);

上边例子的结果是:A,B,C

如果用Ext.applyIf(this,o);这样就不会发生覆盖   结果就会是    a,b,C

2、mixins的使用:类似于面向对象中的多继承,使用如下

        创建class1
        Ext.define('class1',{
            A:"a",
            B:"b"
        });
       

        创建class2
        Ext.define('class2',{
            C:"c",
            D:"d",
            show: function (){
                Ext.Msg.alert("obj的所有属性",obj.A+"   "+obj.B+"     "+obj.C+"     "+obj.D);
            }
        });
        
        创建class3并集成来自class1和class2的所有成员属性
        Ext.define("class3",{
            开始继承
            mixins:{
                class1:"class1",
                class2:"class2"
            }
        });
        
        实例化class3的对象
        var obj = Ext.create("class3");
        obj.show();

显示结果a,b,c,d


3、static静态变量,由本类进行访问不需要实例化

      Ext.define("test",{
            A:"a",
            B:"b",
            statics:{
                C:"c"
            }
        });
        没有实例化test类
        Ext.Msg.alert("test类的静态属性C的值是:",test.C);

显示结果 c


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

            Ext.define("test",{
            A:"a",
            B:"b",
            config:{
                configProperty:"hello, lisi",
            }
        });
        var Obj = Ext.create("test");
            通过get方法展示属性值
        Ext.Msg.alert("configProperty属性的值是:",Obj.getConfigProperty());                显示结果:hello, lisi
            通过set方法设置属性的值,注意:包装器会把属性的头字母大写
        Obj.setConfigProperty("set this property's value!");
            通过get方法展示属性值
        Ext.Msg.alert("configProperty属性的值是:",Obj.getConfigProperty());               显示结果:set this property's value!
         




原创粉丝点击