Ext4 类

2024-06-02 00:38
文章标签 ext4

本文主要是介绍Ext4 类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1).声明

1.1) 旧的方式

如果你曾经使用过旧版本的extjs,那么你肯定熟悉使用Ext.extend来创建一个类:

var MyWindow=Ext.extend(Object,{...});


这个方法很容易从现有的类中继承创建新的类.相比直接继承,我们没有好用的API用于类创建的其他方面,诸如:配置、静态方法、混入(Mixins)。呆会我们再来详细的重新审视这些方面。现在,让我们来看看另一个例子:


My.cool.Window = Ext.extend(Ext.Window, { ... });


在这个例子中,我们创建我们的新类,继承Ext.Window,放在命名空间中。我们有两个问题要解决:

1,在我们访问My.cool的Window属性之前,My.cool必须是一个已有的对象.

2,Ext.Window必须在引用之前加载.

第一个问题通常使用Ext.namespace(别名Ext.ns)来解决.该方法递归创建(如果该对象不存在)这些对象依赖.比较繁琐枯燥的部分是你必须在Ext.extend之前执行Ext.ns来创建它们.

Ext.ns('My.cool');

My.cool.Window = Ext.extend(Ext.Window, { ... });


二个问题不好解决,因为Ext.Window可能直接或间接的依赖于许多其他的类,依赖的类可能还依赖其它类...出于这个原因,在ext4之前,我们通常引入整个ext-all.js,即使是我们只需要其中的一小部分.



1.2) 新的方式

在Extjs4中,你只需要使用一个方法就可以解决这些问题:Ext.define.以下是它的基本语法:

Ext.define(className, members, onClassCreated);

例如:
Ext.onReady(function(){Ext.define('Persion',{name:'Cmh',constructor:function(name){if(name){this.name = name;}return this;},say:function(language){Ext.Msg.alert('alert:',this.name +" say "+language +"!");}});var xiaoming = Ext.create('Persion','XiaoMing');xiaoming.say("Chinese"); //alert: XiaoMing sya Chinese!
})



注意我们使用Ext.create()方法创建了My.sample.Person类的一个新实例.我们也可以使用新的关键字(new My.sample.Person())来创建.然而,建议养成始终用Ext.create来创建类示例的习惯,因为它允许你利用动态加载的优势.


2).配置

在ExtJS 4 ,我们引入了一个专门的配置属性,用于提供在类创建前的预处理功能.特性包括:

配置完全封装其他类成员

getter和setter.如果类没有定义这些方法,在创建类时将自动生成配置的属性的getter和setter方法。

同样的,每个配置的属性自动生成一个apply方法.自动生成的setter方法内部在设置值之前调用apply方法.如果你要在设置值之前自定义自己的逻辑,那就重载apply方法.如果apply没有返回值,则setter不会设置值.看下面applyTitle的例子:

Ext.onReady(function(){	Ext.define('MyWindow',{isWindow:true,config:{title:"MyWindow",bottomBar:{enabled:true,height:200,resizable:false}},constructor:function(config){this.initConfig(config);return this;},applyTitle:function(title){if(!Ext.isString(title) || title.length ===0){Ext.Msg.alert('提示:',"title不能为空");}else{return title;}}});var myWindow = Ext.create("MyWindow",{title:'MyWindow TestOne',bottomBar:{height:30}});Ext.Msg.alert("标题",myWindow.getTitle());//MyWindow TestOnemyWindow.setTitle('MyWindow Test_One');alert(myWindow.getTitle()); //MyWindow Test_One
})


3.Statics

静态成员可以使用statics配置项来定义


Ext.onReady(function(){Ext.define('Photo',{statics:{size:0}});	alert(Photo.size); //0Photo.size = 200;alert(Photo.size); //200});

  • 详细配置还有文章Ext.define http://blog.csdn.net/u011229848/article/details/53014129

这篇关于Ext4 类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1022555

相关文章

xfs Vs ext4?

xfs测试 ext4 测试 对比 XFS和EXT4都是Linux系统中广泛使用的文件系统,它们各有特点和优势,选择哪一个取决于你的具体需求和使用场景。下面是它们的主要特点: XFS: 由Silicon Graphics Inc.开发,最初用于SGI的IRIX系统。支持非常大的文件和卷,适合大数据量处理。支持在线文件系统扩展,可以动态调整文件系统大小。有较好的并发性能,适合多用户环

mkfs.ext4 -- 生成ext4文件系统

mkfs.ext4 介绍 mkfs.ext4 是一个在 Linux 系统上用于创建 ext4 文件系统的工具。ext4 文件系统是扩展的第三代文件系统 (Fourth Extended Filesystem),是 ext3 的改进版,提供了更好的性能和功能。下面是对 mkfs.ext4 工具的详细讲解,包括其用途、选项和常见用法。 用途 mkfs.ext4 用于在分区或文件上创建一个

mke2fs -- 比mkfs.ext4艺术成分更高

mke2fs 介绍 mke2fs 是一个用于创建 ext2/ext3/ext4 文件系统的工具,是 mkfs.ext2, mkfs.ext3, mkfs.ext4 的底层工具。它提供了丰富的选项和参数,可以对文件系统进行详细的配置和优化。下面是 mke2fs 的详细讲解,包括其主要功能、常用选项及使用示例。 mke2fs 基本用法 mke2fs [options] device [blo

Ubunut16.04开机挂载ext4和ntfs格式的磁盘

具体流程: 查询文件系统类型和UUID # sudo blkid/dev/sda1: UUID="511eb7e7-e285-4c3a-abc0-4d8b40169e8e" TYPE="ext4" PARTLABEL="Basic data partition" PARTUUID="41b9594b-0d1e-4621-991a-4f4852007b84"/dev/sda2: UUID="

Linux | buildrootfs 添加mkfs.ext3/mkfs.ext4 支持

因个人需要,mkfs.ext3 但是项目中还没有这个命令 所以琢磨了半天 这里将其小记一下 在buildrootfsz中,需要将e2fsprogs 勾选上然后重新编译就好了 make menuconfigTarget packages-> Filesystem and flash utilities-> e2fsprogs

Ext4 vBox的使用

要使用VBox布局方式,首先的熟悉下一下几个主要属性: 一、align:字符类型,指示组件在容器内的对齐方式。有如下几种属性。     1、left(默认):排列于容器左侧。     2、center :控件在容器水平居中。     3、stretch:控件横向拉伸至容器大小     4、stretchmax:控件横向拉伸,宽度为最宽控件的宽。 二、flex:数字类型,指示组件在容器中

Ext4 HBox的使用

要使用HBox布局方式,首先的熟悉下一下几个主要属性: 一、align:字符类型,指示组件在容器内的对齐方式。有如下几种属性。     1、top(默认):排列于容器顶端。     2、middle:垂直居中排列于容器中。     3、stretch:垂直排列且拉伸义填补容器高度     4、stretchmax:垂直拉伸,并且组件以最高高度的组件为准。 二、flex:数字类型,指示组

Ext4 Windows 的创建

Extjs4,创建 Ext组件有了新的方式,就是 Ext.create(....),而且可以使用动态加载 JS的 方式来加快组件的渲染,我们再也不必一次加载已经达到 1MB的 ext-all.js了,本文介绍如 何在 EXTJS4中创建一个 window. <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml"><head>

【调试笔记-20240524-Linux-扩展 OpenWrt-23.05 发行版 EXT4 镜像文件大小】

调试笔记-系列文章目录 调试笔记-20240524-Linux-扩展 OpenWrt-23.05 发行版 EXT4 镜像文件大小 文章目录 调试笔记-系列文章目录调试笔记-20240524-Linux-扩展 OpenWrt-23.05 发行版 EXT4 镜像文件大小 前言一、调试环境操作系统:Ubuntu 22.04.4 LTS工作环境调试目标 二、调试步骤预置条件扩展 OpenWr

释放系统C盘的ext4.vhdx

ext4.vhdx 是个虚拟磁盘,默认位置为 C:\Users{用户名}\AppData\Local\Docker\wsl\data\ext4.vhdx,会占用很大磁盘空间,可采用下列办法将其改到其它磁盘或分区,如D分区。 1、查看有哪些: # wsl -l -vNAME STATE VERSION* docker-desktop-da