vue3已经没有提供配套的事件总线bus,需要使用第三方库mitt 来完成vue2中bus完成的事情
1.安装
javascript
npm install mitt
2.引用 bus.js
javascript
import mitt from 'mitt';
const bus = mitt();
export default bus;
3.在需要使用的vue文件中导入bus
javascript
import bus from './mitt'
4.使用mitt的emit方法进行传值和on方法进行接收数据
javascript
// 父组件(兄弟组件)
bus.emit('函数名', 需要传的值)
//子组件(兄弟组件)
bus.on('函数名',(接收到的值)=>{
逻辑操作
})
//接收值的vue 组件卸载之前关闭掉
onBeforeUnmount(()=>{
bus.off('函数名');//关闭
})
//清除bus线
emitter.all.clear()