@farris/devkit-vue
Version:
39 lines (38 loc) • 970 B
TypeScript
export type EventHandler = (...args: any[]) => void;
export declare class EventBus {
private events;
constructor();
/**
* 订阅事件
* @param event 事件名称
* @param handler 事件处理函数
*/
on(event: string, handler: EventHandler): void;
/**
* 取消订阅事件
* @param event 事件名称
* @param handler 事件处理函数
*/
off(event: string, handler: EventHandler): void;
/**
* 发布事件
* @param event 事件名称
* @param args 事件参数
*/
emit(event: string, ...args: any[]): void;
/**
* 只订阅一次事件
* @param event 事件名称
* @param handler 事件处理函数
*/
once(event: string, handler: EventHandler): void;
/**
* 清除指定事件的所有处理函数
* @param event 事件名称
*/
clear(event: string): void;
/**
* 清除所有事件
*/
clearAll(): void;
}