创建一个eventBus.js
javascript">import { reactive } from 'vue'
const eventBus = reactive({})
function on(eventName, handler) {if (!eventBus[eventName]) {eventBus[eventName] = []}eventBus[eventName].push(handler)
}
function emit(eventName, ...args) {console.log('eventBusEmit', eventName)const handlers = eventBus[eventName]if (handlers) {handlers.forEach((handler) => handler(...args))}
}
function off(eventName, handler) {if (eventBus[eventName]) {eventBus[eventName] = eventBus[eventName].filter((h) => h !== handler)}
}export default {on,emit,off
}
发送事件
javascript">import eventBus from '@/utils/eventBus'
eventBus.emit('globalMessageBoxShow')
监听事件
javascript">eventBus.on('globalMessageBoxShow', () => {})