Ext JS定义一个新类

来源:互联网 发布:centos 移除mysql 编辑:程序博客网 时间:2024/06/05 20:04

定义一个类

使用Ext.define()来定义一个自己的类:

语法:

Ext.define((String) className, (Object) classMembers, (Optional Function) onClassCreatedCallback);

参数:

  • className :完整的类名(以”.”符号分隔);
  • classMembers :由键值对集合(JS对象字面量)构成的的对象;
  • onClassCreatedCallback :函数回调。类的所有依赖项都准备就绪、类本身被完全创建后被调用。
  • Ext.define()在执行时会经历这样的过程:

    1. 侦察一下,必要的话,创建新的命名空间
    2. 扩展一个现有的类
    3. 验证是否已经定义了扩展类,如果不是,直到用于扩展的类可用才会创建新类。
    4. 返回Ext.Base对象。

    注意:Ext.Base是使用Ext.define()创建的所有类的根。 Ext JS中的所有类也都继承自Ext.Base

    Ext.define('Student', {    name : 'unnamed',    getName : function(){        return "Student name is" + this.name;    }}, function(){    alert('Student object created');});

    根据Ext.define的语法:

  • 第一个参数Student是类名。
  • 第二个参数是一个包含name和getName()的JS对象。
  • 第三个参数(可选)是在创建Student类之后调用的回调函数。
  • 创建类的对象

    JavaScript允许我们使用关键字new来创建一个对象。 但是,Sencha建议,但凡使用Ext.define()方法创建的类,都使用Ext.create()方法来创建类的对象。

    下面演示如何创建Student类的对象并调用其中的getName()方法,可以来这里尝试。

    var studentObj = Ext.create('Student');studentObj.getName();