EventMgrts.ts文件this
import EventDispatcher = laya.events.EventDispatcher; class EventMgr extends EventDispatcher { static eventDispatcher: EventDispatcher = new EventDispatcher(); static _instance: EventMgr; public static getInstance() { if (EventMgr._instance == null) { EventMgr._instance = new EventMgr(); } return EventMgr._instance; } constructor() { super(); } ///註冊事件 public Emit(InName, agv?: null) { //派發事件 console.log("派發事件",InName); EventMgr.eventDispatcher.event(InName, agv); } //偵聽事件 public AddNotice(InName, caller, listener: Function, arg?: any[]): void { console.log("偵聽事件",InName); EventMgr.eventDispatcher.on(InName, caller, listener, (arg == null) ? null : ([arg])); } }
添加偵聽事件spa
EventMgr.getInstance().AddNotice("test", this, this.onAddNotice);
註冊事件code
EventMgr.getInstance().Emit("test");