¶Ô±ÈÐÂÎļþ |
| | |
| | | const event: { [key: string]: Function } = {} |
| | | /** äºä»¶å¥æ */ |
| | | export default { |
| | | /** ç»å®ä¸ä¸ªäºä»¶ */ |
| | | $on(eventName: string, eventFun: Function) { |
| | | if (event.hasOwnProperty(eventName)) { |
| | | throw new Error(`åå¨äºä»¶ => ${eventName}`) |
| | | } else { |
| | | event[eventName] = eventFun |
| | | } |
| | | }, |
| | | /** è§£ç»ä¸ä¸ªäºä»¶ */ |
| | | $off(eventName: keyof typeof event) { |
| | | if (event.hasOwnProperty(eventName)) { |
| | | delete event[eventName] |
| | | } else { |
| | | throw new Error(`ä¸åå¨äºä»¶ => ${eventName}`) |
| | | } |
| | | }, |
| | | /** 触åä¸ä¸ªäºä»¶ */ |
| | | $emit<T>(eventName: keyof typeof event, ...args: any):T { |
| | | if (event.hasOwnProperty(eventName)) { |
| | | return event[eventName](...args) |
| | | } else { |
| | | throw new Error(`ä¸åå¨äºä»¶ => ${eventName}`) |
| | | } |
| | | } |
| | | } |