vue3官网关于事件总线

在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

Logo

前往低代码交流专区

更多推荐