vue3使用mitt用于组件之间传值

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()
相关推荐
申君健24864182772025 分钟前
MCP TypeScript SDK v2 完整升级变化说明
javascript
卤蛋fg615 分钟前
vxe-table 自定义复制粘贴逻辑:精确控制单元格数据转换
vue.js
朕的剑还未配妥15 分钟前
CSS 实现渐变毛玻璃:从 backdrop-filter 到多层 mask
前端·css
Ivanqhz21 分钟前
Rust Lazy浅析
java·javascript·rust
程序员黑豆26 分钟前
鸿蒙开发实战:使用 List 组件构建新闻列表
前端·华为·harmonyos
xiaobaoyu43 分钟前
谈谈你对iframe的了解
前端
GISer_Jing1 小时前
前端转全栈须知后端知识
前端·后端·ai·前端框架
爱勇宝1 小时前
我做了一个排版器,也踩了一遍富文本复制的坑
前端·后端·微信
铁皮饭盒1 小时前
面试官:如何用 Bun + JS 实现安全的文件 MCP 工具集
前端·javascript·后端
探索前端2 小时前
Cesium图层加载及影像服务添加
前端·cesium