文档章节

ext5 类 -1

C
 Canaan_
发布于 2016/06/14 21:45
字数 371
阅读 16
收藏 0

ext5的文件管理比较方便,包括文件的加载(组件的引入),但这要满足一定的规范。

1. 类的命名:

  •   类名称只能包含字母数字
  • 顶级的命名空间和最后的类名应该以驼峰方式命名,中间其他的都应该小写(MyCompany.form.action.AutoLoad)
  • 不要以Ext为顶级的命名空间
  • 文件的存储路径要能根据类名直接映射到如:
    MyCompany.form.action.AutoLoad ->  ../MyCompany/form/action/AutoLoad.js
  • 方法和变量名称只能包含字母数字
  • 静态类的属性是常量应该全部大写:
    Ext.MessageBox.YES = “Yes”
  •  

2. 类的定义:

Ext.define(className, members, onClassCreated);

className类名, members类的变量方法等, onClassCreated类创建之后的回调函数。 

下面定义一个user类:

Ext.define('Test.model.User',{
	config:{  //处理该配置中的属性,都将被封装成get/set
		name:'Mr.unknown',
		age:0,
		gender:'male',
        dept:{
           name:'dept name'
        }
	},
	phone:'unknow', 
	constructor:function(config){
		this.initConfig(config);  //初始化config配置中的值
		this.callParent(config);  //调用父类的构造方法
	},
	applyName:function(name){ //当调用setName时,Ext自动调用该方法
		if(name){
			return name;
		}
	},
	applyAge:function(age){
		if(Ext.isNumber(age) ){
			return age;
		}
		return 0;
	},
	applyPhone:function(phone){//该方法其实是无效的,因为phone没在config中
		if(!phone && phone.length = 11){
			return phone;
		}
		return 'please input'
	}
});

如java 一样。现在的user也有了构造方法,EXt也帮我们自己生成了get/set方法了

实例化一个User

var u1 = new User({
	name:'张三',
	age:'0',
	phone:'90480923'
});

u1.getName()  //张三
u1.setAge(45)
u1.getAge()   //45
u1.getDept().name  //dept name
u1.phone       //90..23

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
C
粉丝 16
博文 288
码字总数 125640
作品 0
福州
ExtJS(4)- Ext5.0中的ux和FontAwesome

Ext5相较之前的版本有很大的变化,其中最明显的就是组件的样式,Ext5中的组件将会可以自适应移动终端(手机,平板)的显示,这一点上大大地增强了Ext跨平台的支持。当然还有很多值得我们期待...

雪飘七月
2014/12/17
0
0
ext5 Model - 1

ext5遵从mvc的设计模式,这里要讲的是model 这一层定义 如果你 在java ee 中定义了一个model如User类,那么在前端ext这里也要定义一个这样的model. 除了User类中该有的字段外,还要继承一个叫...

Canaan_
2016/06/14
14
0
ExtJS(5)- Ext5的统计图Chart

今天系统整理下Ext5中的chart使用以及遇到的一些问题。 首先是Ext5中chart的引用,在5之前的版本中chart的api会被集合在ext-all.js中,但是在5当中并不是这样,如果只引入ext-all.js,我们引...

雪飘七月
06/26
0
0
ext5 - 异步加载要使用的自定义类

利用ext良好的扩展性,我们很容易定义自己的组件。一般这样组件的代码都是一个单独的文件,在要用的时候就加载进来。久而久之,这样自定义的组件多了同样组件所对的文件也多了起来,这时如果...

Canaan_
2016/06/08
55
0
ExtJS(6)- 用Sencha Cmd构建打包Ext项目

用ExtJS组建前端框架有一年多了,考虑到ExtJS中js过多,为提高效率,所以开始寻找打包的方法,然后就发现了这个Sencha Cmd。首先Sencha Cmd不仅仅是为了打包而生的,它同样具有构建前端框架的...

雪飘七月
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

71.告警系统主脚本 配置文件 监控项目

20.20 告警系统主脚本(main.sh) 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本(main.sh): ~1.约定:把以后所有的shell脚本放在/usr/local/sbin下,也方便我们查...

王鑫linux
14分钟前
0
0
装饰者模式

装饰者模式 Q:何为装饰模式? ()地给一个对象添加一些额外的(),并且()时,并不影响原对象。扩展功能来说,装饰器模式相比生成子类更为灵活。 Q:使用场景? 1.想要在不影响其他对象的情况下...

阿元
35分钟前
0
0
GO 切片(slice)相关语法

package mainimport("fmt")func main() {var intArr [5]int = [...]int{1,2,3,4,5} //定义一个数组slice := intArr[2:4] //第二个(包含)下标到第四个下标(不包含)fmt.Println...

汤汤圆圆
37分钟前
0
0
活动招募 HUAWEI HiAI公开课·北京站-如何在4小时把你的APP变身AI应用

人工智能和机器学习是全球关注的新趋势,也是当前最火爆、最流行的话题。当你拿手机用语音助手帮你点外卖,智能推荐帮你把周边美食一网打尽;当你拿起P20拍照时,它将自动识别场景进行最美优...

华为终端开放实验室
51分钟前
1
0
匹配两位小数,js正则

var regex = /^\d*(\.[1-9]|\.\d[1-9])*$/ console.log(1.2,regex.test(1.2)); console.log(0.3,regex.test(0.3)); console.log(1.03,regex.test(1.03)); ......

微信小程序-暗潮
55分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部