1.引入mitt
npm i mitt
2.在main.js中定义
import mitt from "mitt";
const app = createApp(App);
//挂载mitt用于全局通信
app.config.globalProperties.$eventBus = new mitt();
3.触发事件总线
const { proxy } = getCurrentInstance();
function toPage(pageInfo){
router.push(pageInfo).then(()=>{
proxy.$eventBus.emit('menuRefersh', { flag:true })
})
}
4.接收与清除
onMounted(() => {
proxy.$eventBus.on('menuRefersh', data => {
if(data.flag){
menuKey.value++
}
})
})
onBeforeMount(()=>{
proxy.$eventBus.off('menuRefersh')
})