ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Ext中类的定义

2020-12-31 23:34:50  阅读:220  来源: 互联网

标签:定义 alert Person Ext var config 中类 define


在ExtJS中定义类的方式

Ext.define

在Ext中定义一个类: Ext.define(className, properties, callback)

Ext.define('Person',{
		// 添加配置项 config,配置当前类属性,会自动加上get和set方法
		config:{
			name:'zs',
			age:25
		},
		// 自己定义的方法
		sayHello:function(){
			alert("自定义的方法");
		},
		// 给当前类添加一个构造器
		constructor:function(config){
			for(var attr in config){
				console.log(attr + " : " + config[attr]);				
			}
			// 初始化传递的配置信息
			this.initConfig(config);
		}
	});

Ext.create

// 使用定义的类  推荐方式
	// 定义一个对象
	var person = Ext.create('Person',{
		name:'z6',
		age:28
	});
	alert(person.getAge());
	alert(person.getName());
	person.sayHello();

在ExtJS中使用继承

	Ext.define("Person",{
		config:{
			age:23
		},
		constructor:function(config){
			var cur = this;
			cur.initConfig(config);
		}
	});
	
	// sub class
	Ext.define("Boy",{
		// 继承Person
		extend:'Person',
		config:{
			name:'zs',
			sex:'男'
		}
	});
//	var boy = Ext.create('Boy');
//	alert(boy.getName());
//	alert(boy.getAge());
//	alert(boy.getSex());

别名和备用名

	Ext.define("User",{
		config:{
			name:'zs',
			age:23
		},
		// 别名
//		alias:'UUU',
		alternateClassName:'DDD',// ClassManager
		constructor:function(config){
			var me = this;
			me.initConfig(config);
		}
	});
	
	
//	var u = Ext.create('User',{});
//	alert(u.getName());
//	var u = Ext.create('UUU',{});
//	alert(u.getAge());
	var u = Ext.create('DDD',{});
	alert(u.getAge());

静态属性

	Ext.define('Person',{
		config:{
			name:'父类'
		},
		statics:{
			// 静态属性或方法,不可以被子类继承
			static_id:'static_id静态属性'
		},
		inheritableStatics:{
			// 静态属性或方法,可以被子类继承
			inheritableStatics_id:'inheritableStatics_id静态属性'
		},
		constructor:function(config){
			var me = this;
			me.initConfig(config);
		}
	});
	
	
	// 静态属性或方法,直接使用类名调用
//	alert(Person.static_id);
//	alert(Person.inheritableStatics_id);
	
	// subClass
	Ext.define('User',{
		extend:'Person',
		config:{
			age:20
		}
	});
	
//	alert(User.static_id);// undefined
	alert(User.inheritableStatics_id);

混入 实现多继承

	Ext.define("Sing",{
		canSing:function(){
			alert("canSing");	
		}
	});
	
	Ext.define("Say",{
		canSay:function(){
			alert("canSay");
		}
	});

	// mixins  在User类中混入Sing和Say两个类
	Ext.define("User",{
		mixins:{
			sing:"Sing",
			say:"Say"
		}
	});

	var u = Ext.create("User");
	u.canSay();
	u.canSing();

requires uses 及 singleton

Ext.define('MyComponent', {
		// requires加载需要的类的时机:当前类初始化之前被加载
		requires:['Ext.window.Window', 'Ext.button.Button'],
		// uses加载需要的类的时机:当前类初始化之后被加载
		uses:['Ext.form.Panel', 'Ext.grid.Panel'],
		singleton:true //当前类被当作一个单例对象
	});

标签:定义,alert,Person,Ext,var,config,中类,define
来源: https://blog.csdn.net/SUNBOYmxbsH/article/details/112056760

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有