1.5.1 • Published 2 years ago
event-bus-tool v1.5.1
event-bus-tool
一个小型的事件总线,可实现发布/订阅
- 支持浏览器和node环境
- 提供只执行一次的订阅
安装
npm install --save event-bus-tool
引入
//1.es6
import event from 'event-bus-tool'
//2.CommonJS
const event = require('event-bus-tool')
用法
import event from 'event-bus-tool'
const eventTrigger = new event()
//1.注册一个事件或多个事件
eventTrigger.on('a',(e)=>{
console.log('a: ' + e)
})
eventTrigger.on('a',[
(e)=>{
console.log('a: ' + e)
},
(e)=>{
console.log('a: ' + e)
}
])
//2.注册一个只执行一次事件 或多个
eventTrigger.once('a',[
(e)=>{
console.log('a: ' + e)
},
(e)=>{
console.log('a: ' + e)
}
])
//3.触发事件
eventTrigger.emit('a',e)
//4.取消事件,传入fn表示取消a列表中fn,否则取消a所有事件
eventTrigger.off('a',fn)
//5.清除所有事件
eventTrigger.clear()
或
eventTrigger.all.clear()
//6.获取所有事件,一个副本
eventTrigger.all
tip
同一key中同一事件只注册一次,如
const fn = () => {
console.log(10)
}
eventTriger.on('a',fn)
eventTriger.on('a',fn)
在a中只注册了一次