mitt-pubsub
v1.0.2
Published
一个3KB的发布者/订阅者插件
Downloads
19
Readme
mitt-pubsub
一个3KB的发布者/订阅者插件
- Microscopic(微小): 压缩后小于 3KB
- Useful(实用): 支持通配符
"*"监听所有事件 - Familiar(熟悉): 使用与 Node 的 EventEmitter 相同的概念和命名
- Functional(函数式): 方法不依赖于
this
mitt-pubsub是鉴于mitt上多了异步支持和once方法,并且修改了'*'方法的应用, 是为浏览器设计的,但也适用于任何 JavaScript 运行环境。它没有依赖项,并且支持 IE9+。
目录
安装
该项目使用 node 和 npm,如果你本地没有安装,请先去下载安装。
$ npm install --save mitt-pubsub然后在像 rollup 或 webpack 这样的模块打包工具中,可以像其他模块一样使用:
// 使用 ES6 模块
import mitt from 'mitt-pubsub'
// 使用 CommonJS 模块
var mitt = require('mitt')UMD 构建版本也通过 unpkg 提供:
<script src="https://unpkg.com/mitt/dist/mitt.umd.js"></script>你可以在 window.mitt 中找到该库。
使用方式
import mitt from 'mitt'
const emitter = new mitt();
// 监听某个事件
emitter.on('foo', e => console.log('foo', e) )
// 监听一次某个事件
emitter.once("foo1", (e) => {console.log('foo', e)});
// 触发一个事件
emitter.emit('foo', { a: 'b' })
// 触发多个事件
emitter.emit(['foo','too'], { a: 'b' })
// 给所有事件发送消息
emitter.emit('*', { a: 'b' } )
// 清除所有事件
emitter.clear()
// 使用 handler 引用:
function onFoo() {}
emitter.on('foo', onFoo) // 添加监听器
emitter.off('foo', onFoo) // 移除监听器API 文档
表格目录
mitt
Mitt:一个小型(约 2.5kb 字节)的函数式事件发射器 / 发布订阅模型。
返回 Mitt
all
一个 Map,键是事件名,值是注册的处理函数。
on
为指定类型的事件注册一个处理函数。
once
为指定类型的事件注册一个只执行一次的处理函数。
参数
off
移除指定类型的事件处理函数。
如果省略 handler,则会移除该类型下的所有处理函数。
参数
emit
触发指定类型的事件的所有处理函数。
如果存在,'*' 处理函数会在匹配类型的处理函数之后被调用。
注意:手动触发 '*' 处理函数不受支持。
