t-comm
Version:
专业、稳定、纯粹的工具库
45 lines (44 loc) • 1.08 kB
TypeScript
/**
* 事件总线类
* 实现发布-订阅模式,用于组件间通信
* @example
* ```ts
* const bus = new EventBus();
*
* // 订阅事件
* bus.on('message', (data) => {
* console.log('收到消息:', data);
* });
*
* // 发布事件
* bus.emit('message', 'Hello World');
*
* // 取消订阅
* bus.off('message');
* ```
*/
export declare class EventBus {
private events;
constructor();
/**
* 发布事件
* 触发指定事件的所有监听器
* @param eventName - 事件名称
* @param args - 传递给监听器的参数
*/
emit(eventName: string, ...args: Array<any>): void;
/**
* 订阅事件
* 添加事件监听器
* @param eventName - 事件名称
* @param fn - 监听器函数
*/
on(eventName: string, fn: any): void;
/**
* 取消订阅
* 移除指定事件的监听器
* @param eventName - 事件名称
* @param fn - 要移除的监听器函数,如果不传则移除该事件的所有监听器
*/
off(eventName: string, fn: any): void;
}