event-bus.md 939 B

事件总线

项目中对事件总线进行了简单封装,位于src/base/bus.js中。

在任何时候都不允许直接使用mitt或者其他类似的第三方库实现事件总线

必须先在src/base/bus.js中进行定义,然后在具体位置引入src/base/bus.js中定义好的事件总线定义

/**
 * 事件总线 定义
 */
import EventBus from './event-bus/EventBus';

/**
 * 定义event bus
 * 任意 event bus 的定义,必须添加 bus_ 前缀
 * @example
 * import { bus_themeChange } from './base/bus.js';
 * 
 * bus_themeChange.emit('light');
 * 
 * bus_themeChange.on((value) => {
 *  console.log(value); // light
 * });
 * 
 * setTimeout(() => {
 *  bus_themeChange.off();
 * }, 1000);
 */
export const bus_themeChange = new EventBus('theme_change');

事件总线中的前缀定义,不符合前面约定的命名规范事件总线定义按照此文档进行命名。