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是在没有扩展的情况下在类b中使用类a的不同方式。
mixins : {
commons : 'departmentapp.utils.departmentutils'
},
mixins我们添加在控制器中,我们声明所有其他类,如存储,视图等。在这种方式,我们可以调用departmentutils类,并在控制器或在这个应用程序中使用其功能。