vue3已經沒有提供配套的事件總線bus,需要使用第三方庫mitt來完成vue2中bus完成的事情
1.安裝
npm install mitt
2.引用 bus.js
import mitt from 'mitt';
const bus = mitt();
export default bus;
3.在需要使用的vue文件中導入bus
import bus from './mitt'
4.使用mitt的emit方法進行傳值和on方法進行接收數據
// 父組件(兄弟組件)
bus.emit('函數名', 需要傳的值)//子組件(兄弟組件)
bus.on('函數名',(接收到的值)=>{邏輯操作
})
//接收值的vue 組件卸載之前關閉掉
onBeforeUnmount(()=>{bus.off('函數名');//關閉
})//清除bus線
emitter.all.clear()