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()
相关推荐
Leon16 分钟前
新手引导 intro.js 的使用
前端·javascript·vue.js
Zeros19 分钟前
Claude Code 使用心得 - 从尝鲜到日常的进阶之路
前端
我是何平22 分钟前
js中,什么是线性查找?
前端
我是何平23 分钟前
🧠 用 JavaScript 理解算法复杂度:时间复杂度与空间复杂度详解
前端
SuperEugene27 分钟前
接口类型管理:从 any 到有组织的 api.d.ts
前端·面试·typescript
喝咖啡的女孩28 分钟前
React Hook & Class
前端
小呆呆_小乌龟28 分钟前
同样是定义对象,为什么 TS 里有人用 interface,有人用 type?
前端·react.js
Forever7_29 分钟前
仅用一个技巧,让 JavaScript 性能提速 500%!
前端·vue.js
慢慢长大的孩子34 分钟前
个人运营小网站的最佳策略
前端·后端
牛奶1 小时前
ts随笔:基础与类型系统
前端·面试·typescript