Ext.js - 类系统



Ext JS 是一个 JavaScript 框架,具有面向对象编程的功能。Ext 是命名空间,它封装了 Ext JS 中的所有类。

在 Ext JS 中定义类

Ext 提供了 300 多个类,我们可以将其用于各种功能。

Ext.define() 用于在 Ext JS 中定义类。

语法

Ext.define(class name, class members/properties, callback function);

类名是根据应用程序结构命名的类名。例如,appName.folderName.ClassName studentApp.view.StudentView。

类属性/成员定义了类的行为。

回调函数是可选的。当类正确加载时,它会被调用。

Ext JS 类定义示例

Ext.define(studentApp.view.StudentDeatilsGrid, {
   extend : 'Ext.grid.GridPanel',
   id : 'studentsDetailsGrid',
   store : 'StudentsDetailsGridStore',
   renderTo : 'studentsDetailsRenderDiv',
   layout : 'fit',
   
   columns : [{
      text : 'Student Name',
      dataIndex : 'studentName'
   },{
      text : 'ID',
      dataIndex : 'studentId'
   },{
      text : 'Department',
      dataIndex : 'department'
   }]
});

创建对象

与其他基于 OOPS 的语言一样,我们也可以在 Ext JS 中创建对象。

以下是 Ext JS 中创建对象的几种方法。

使用 new 关键字

var studentObject = new student();
studentObject.getStudentName();

使用 Ext.create()

Ext.create('Ext.Panel', {
   renderTo : 'helloWorldPanel',
   height : 100,
   width : 100,
   title : 'Hello world',
   html : 	'First Ext JS Hello World Program'		
});

Ext JS 中的继承

继承是将类 A 中定义的功能用于类 B 的原则。

在 Ext JS 中,继承可以通过两种方法完成:

Ext.extend

Ext.define(studentApp.view.StudentDetailsGrid, {
   extend : 'Ext.grid.GridPanel',
   ...
});

在这里,我们的自定义类 StudentDetailsGrid 使用了 Ext JS 类 GridPanel 的基本功能。

使用 Mixins

Mixins 是一种在不扩展的情况下使用类 A 中类 B 的不同方法。

mixins : {
   commons : 'DepartmentApp.utils.DepartmentUtils'
},

Mixins 添加到控制器中,我们在其中声明所有其他类,例如 store、view 等。通过这种方式,我们可以调用 DepartmentUtils 类并在控制器或此应用程序中使用其函数。

广告

© . All rights reserved.