简介: 一款专为react开发的event-bus,Vue中也可使用
Using npm:
$ npm install kh-event-bus
Using yarn:
$ yarn add kh-event-bus
import EventBus from 'kh-event-bus'
let bs = EventBus()
// 1、监听事件
bs.on('test',(args1,args2,args3)=>console.log(args1,args2,args3))
// 参数说明:'test'表示需要监听事件的key,必须为string;后面表示要通过监听key触发的方法,方法的参数可以任意多个并且参数类型不固定
// 2、触发事件
bs.emit('test',args1,args2,args3)
// 参数说明:'test'表示需要触发事件的key,必须为string;后面表示要传递给触发事件的参数
// 3、取消监听
bs.off() // 取消所有key下面的事件
bs.off('test') // 取消'test'下面的事件
bs.off('test',(args)=>console.log(args))
// 取消'test'下面的(args)=>console.log(args)方法事件
// 取消事件监听一般用于页面注销的时候
// React
useEffect(()=>{
return () => {
bs.off()
}
},[])
// Vue
onBeforeUnmount(()=>{
bs.off()
})