在vue3中移除了$on $off等,事件总线可以使用 mitt 或 tiny-emitter 代替
使用mitt
安装 npm install --save mitt
自己建一个mitt.js
import mitt from 'mitt';
const emitter = mitt();
export default emitter;
引入并使用
import emitter from "@/utils/mitt";
// 发送值
emitter.emit('machine-info', {region: e.target.options.icon.options.region});
import emitter from "@/utils/mitt";
// 在其他组件监听
emitter.on('machine-info',(data)=>{
console.log(data)
})
// 组件销毁时记得卸载监听
emitter.off('machine-info')
官网表示能不使用总线就不使用总线,尽可能使用vuex,或者provide和inject