Mitt 库 事件的监听与触发

4 阅读1分钟

1. 介绍

Mitt 是一个轻量级 的 JavaScript 库,用于在应用程序中实现事件触发和监听。它不依赖任何外部库,功能简洁,主要用于在模块间进行事件传递。

体积小:Mitt 的压缩版本仅有几千字节,非常适合在前端框架中作为事件管理工具。 API 简洁:提供了三个主要的 API:on、off 和 emit。 适用于需要事件驱动开发的场景,尤其是在没有框架 (如 Vue、React)时的事件管理。

2. 安装

你可以通过 npm 或直接在 HTML 文件中使用 Mitt。

npm 安装

使用 npm 安装 Mitt:

npm install mitt

CDN 引入

你也可以通过 CDN 引入 Mitt:

<script src="https://cdn.jsdelivr.net/npm/mitt@3.0.0/dist/mitt.umd.js"></script>

通过 CDN 引入后,mitt 会挂载到全局对象中(window.mitt),你可以直接使用。

3. 基本用法

Mitt 提供了三个基本的方法来管理事件:

  • on(event, handler) :用于注册事件监听器。
  • off(event, handler) :用于注销事件监听器。
  • emit(event, data) :用于触发事件。
3.1在项目中引入
// https://www.npmjs.com/package/mitt
import mitt, { Emitter } from 'mitt';
// 类型
const emitter: Emitter<MittType> = mitt<MittType>();
// 导出
export default emitter;
3.2 事件的监听与触发
import mittBus from '/@/utils/mitt';  // 在页面中引入

// 监听消息更新事件
mittBus.on('updateMessageCount', getIsDot);   // getIsDot 监听的方法


// 移除事件监听器
mittBus.off('updateMessageCount', getIsDot);


// 触发事件更新消息数量
mittBus.emit('updateMessageCount');