ExtJs在面向对象所作出的努力(2)

取自dojochina视频教程PPT

 

ExtJs在面向对象所作出的努力(2)

命名空间别名

定义:对于命名空间的别称

代码举例:Dc = Ext.dojochina;

规范:首字母大写

 

 

类别名

定义:对于类的别称

代码举例:

PN = Ext.dojochina.Person;

规范:全部字母大写

 

支持事件队列

事件

定义:对于外界影响的反应,在ExtJs还支持事件队列模式.由Ext.util.Observable类支持

person.js

Ext.namespace("Ext.dojochina");

Ext.dojochina.Person = function(){

	this.addEvent(
		"namechange",   //定义
		"sexchange"
	);
};

Ext.extend(Ext.dojochina.Person,
	   Ext.util.Observable,{
	   name:"",
	   sex:"",
	   setName:function(_name){
		if(this.name != _name){
			this.fireEvent("namechange",this,this.name,_name);   //发布
			this.name = _name;
		}
	   },
	   setSex:function(_sex){
		if(this.sex != _sex){
			this.fireEvent("sexchange",this,this.sex,_sex);
			this.sex = _sex;
		}
	   }
	});
通过addEvent定义事件,在函数中通过fireEvent发布事件

 

Person.html部分代码

var _person = null;

button_click = function(){
	_person.setName(prompt("请输入姓名:",""));  
	_person.serSex(prompt("请输入性别",""));
}

Ext.onReady(function(){
	var txt_name = Ext.get("txt_name");   //获得页面空间
	
	vat txt_sex = Ext.get("txt_sex");

	_person = new Ext.dojochina.Person();
	_person.on("namechange",function(_person,_old,_new){
					txt_name.dom.value = _new;
				});   //注册
	_person.on("sexchange",function(_person,_old,_new){
					txt_sex.dom.value = _new;
				});
	_person.on("namechange",function(_person,_old,_new){
					document.title = _new;
				});

})
 

ExtJS的另外几种面向对象设计体现

GWT-EXT为Java程序员编写EXTJS的应用提供了可能(java程序员编写GWT代码,通过解释器生成javascript代码)

 

EXTTLD为JSP程序员的标签化部署EXTJS提供了可能

 

EXTSharp为C#程序员编写EXTJS的应用提供了可能

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值