Vue3中使用mitt事件总线
在utils下封装mitt.js
import mitt from 'mitt'
export default mitt()
// mitt基本使用:https://juejin.cn/post/6973106775755063333
组件中引入mitt并使用
import mitt from '@/utils/mitt'
// A组件中 监听事件
mitt.on('echoDetailData', (data) => {
associatedEchoData = data;
tabFlagEchoControl(mainVisible, associatedEchoData);
tabVisibleControl(associatedEchoData);
})
// B组件中 触发监听事件并传送数据
mitt.emit('echoDetailData', BData);
// 组件销毁时释放监听的事件
onBeforeUnmount(() => {
mitt.all.delete('echoDetailData');
mitt.all.delete('associatedEleKeys');
})
学而不思则罔,思而不学则殆!