• ext之关键字mixins、statics、require


    1.mixins

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

    复制代码
        <script type="text/javascript">
    Ext.onReady(
    function () {
    //创建一个类,类名:TextClass,具有两个属性:A、B
    Ext.define('TextClass', {
    A:
    'a',
    B:
    'b'
    });
    //创建一个类,类名:TextClass,具有两个属性:A、B
    Ext.define('TextClass2', {
    C:
    'c',
    write:
    function () {
    alert(
    'A:' + this.A + ';B:' + this.B + ';C:' + this.C)
    }
    })
    Ext.define(
    'TextClass3', {
    //继承TextClass、TextClass2
    mixins: {
    TextClass:
    'TextClass',
    TextClass2:
    'TextClass2'
    }
    })
    var textClass = Ext.create("TextClass3")
    textClass.write();

    });
    </script>
    复制代码

    运行结果:

    2.statics

    说明:定义静态变量

    例子:

    复制代码
        <script type="text/javascript">
    Ext.onReady(
    function () {
    //创建一个类,类名:TextClass,具有两个属性:A、B
    Ext.define('TextClass', {
    A:
    'a',
    B:
    'b',
    statics: {
    C:
    'C'
    }
    });

    //没有实例化TextClass类
    Ext.Msg.alert('TextClass类的静态属性C的值是:', TextClass.C)
    });
    </script>
    复制代码

    执行结果:

    3.config

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

    例子:

    复制代码
        <script type="text/javascript">
    Ext.onReady(
    function () {
    //创建一个类,类名:TextClass,具有两个属性:A、B
    Ext.define('TextClass', {
    A:
    'a',
    B:
    'b',
    statics: {
    C:
    'C'
    },
    config: {
    configProperty:
    'how can i get this property'

    }
    });
    var textClass = Ext.create('TextClass');
    //通过set方法设置属性的值,注意,包装器会把属性的头字母大写
    textClass.setConfigProperty("set this property's value");
    //通过get方法展示属性值
    Ext.Msg.alert('configProperty属性的值是:', textClass.getConfigProperty());
    });
    </script>
    复制代码

    执行结果:

    3.Ext.require

    说明:动态加载js文件

    使用Ext.require加载js文件,首先要通过Ext.loader设置文件路径。

    例子:

    复制代码
        <script type="text/javascript">
    //设置Ext命名空间下的js文件所在文件夹
    Ext.Loader.setPath({
    Ext:
    'http://www.cnblogs.com/Scripts/ext-4.0.7-gpl/ext-4.0.7-gpl/src'
    });
    Ext.onReady(
    function () {
    //加载Ext.window.MessageBox类,位于http://www.cnblogs.com/Scripts/ext-4.0.7-gpl/ext-4.0.7-gpl/src/window/MessageBox.js文件中
    //注意:一个js文件只有一个类
    //注意:类名=命名空间名(这里就是EXT)+文件路径名(这里就是window/messagebox)
    Ext.require("Ext.window.MessageBox")
    });
    </script>
    复制代码

    执行结果:

    转自:http://www.cnblogs.com/animal/archive/2012/04/02/2430308.html

  • 相关阅读:
    day26
    day 25
    java.io.IOException: java.net.ConnectException: Call From master/192.168.58.128 to master:10020 failed on connection exception: java.net.ConnectException: 拒绝连接;
    疫情可视化系统
    使用eclipse创建spring cloud的eureka客户端和eureka服务端
    连接虚拟机的hive时进程自动杀死
    在Ubuntu18.04的Docker中安装Oracle镜像及简单使用
    Ubuntu16.04 上Docker 中安装SQL Server 2017
    docker
    Docker镜像报错
  • 原文地址:https://www.cnblogs.com/smallrock/p/3499309.html
Copyright © 2020-2023  润新知