六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 55|回复: 0

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

[复制链接]

升级  20%

18

主题

18

主题

18

主题

秀才

Rank: 2

积分
80
 楼主| 发表于 2013-2-6 08:40:27 | 显示全部楼层 |阅读模式
取自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的应用提供了可能
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表