
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、重写事件抛发接收机制原理关于js中大事侦听和抛发机制的一些基础容易重构,通过这个容易重构了解中介者模式的工作方式,以下就是要做的容易重构计划思路:创建emittertarget类和emitterevent类。emittertarget类主要用法了中介模式+观看者模式其中emittertarget类的实例化属性list充当中介角色,每当执行add办法时,给emittertarget类的实例化对象注册大事名称及触发函数;每当该对象执行remove办法时,从list列表中移除注册的大事及触发函数;dispatchevent办法主要是发送大事对象本体,目的是为了在指定时刻触发大事函数以及传递数据参数。
2、=emittertarget类实例化对象本身就是观看者,观看者的特点是有add,remove,触发转变的函数(update或这里的dispatchevent),以及应当实用于存放注册信息的属性或者单例对象。=emitterevent类主要是用来创建大事对象本身,在创建时声明需要触发的大事类型以及需要携带的参数。emittertarget.ts代码如下:import emitterevent from "./emitterevent"interface ievent/中介者即存储实例化对象绑定的大事的list的数据规范接口key:string:array;/k
3、ey是大事名,value是触发大事函数数组export default class emittertargetprivate list:ievent=;/私有变量list,只用于办法内部数据存储通信constructor()public addeventlistener(type:string,handler:function):voidif(!this.listtype)this.listtype=;/按照实例化对象传进来的大事类型推断list列表中是否注册该大事类型,假如没注册过,则创建这个字段var index=this.listtype.indexof(handler);/看对应的大事
4、中绑定的触发函数数组中是否存在这个触发函数if(index>-1) this.listtypeindex=handler;/存在则笼罩this.listtype.push(handler);/假如触发函数之前没有则在对应大事绑定的触发函数数组中新增public removeeventlistener(type:string,handler?:function):voidif(!this.listtype)return;/假如list注册表中无大事注册,则删除无意义,挺直返回if(handler=undefined)/假如调用该办法没有传要删除大事类型对应的触发函数就挺直将该大事类型对应的
5、所有触发函数删除for(var i=0;ithis.datahandler(e);/执行大事侦听办法时,在注册表中注册大事及其触发函数static get instance():mainif(!main._instance) main._instance=new main();return main._instance;private datahandler(e:emitterevent)/大事侦听的触发函数即回调函数var data:iresdata=e.data as iresdata;var command:ires;command=new resdatashow();command.exec(data.req,data.res,data.data);2.详细抛发操作import emitterevent from "./emitterevent"import main from "./main"var evt=new emitterevent(type,req:req,res
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度天津市二手房买卖合同适用法律问题研究2篇
- 公司文化建设与员工培训
- 2024年农机具租赁、维修及安全培训服务合同3篇
- 2024年度房地产销售代理合同:某楼盘销售代理服务3篇
- 2024★汽车制造行业劳动合同范本2篇
- 2024年度劳动合同的薪资福利标准3篇
- 2024年农产品深加工项目合作协议模板2篇
- 个人财务管理技巧与理财规划
- 企业安全管理体系建设与实施
- 企业绩效管理与考核制度设计
- 2023年临沂房地产市场年报(扫描版)-星火燎原
- 【绿色物流背景下戴尔公司逆向物流发展问题及优化建议分析11000字(论文)】
- 环卫保洁管理机构设置
- 数字经济与产业转型升级
- 统计基础知识(中职财经商贸类专业)全套教学课件
- 改革开放史智慧树知到课后章节答案2023年下中国药科大学
- 【肿瘤标志物不同检验方式的临床研究进展综述报告5000字(论文)】
- 基于多元智能理论的学生评价与发展研究
- 游戏综合YY频道设计模板
- 2023年阻碍中国芯片产业发展的主要因素分析
- 城市亮化高空作业及安全措施施工方案
评论
0/150
提交评论