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()
相关推荐
程序员鱼皮12 小时前
格局!刚刚 DeepSeek 正式开放全家桶 API,咱都能复刻 DeepSeek App 了?
前端·aigc·ai编程
ZhengEnCi13 小时前
登录页电脑端怎么设计才不空:5 种布局方案与可粘贴 AI 提示词
前端·css·设计
Penge66613 小时前
JavaScript:DOM 树
前端
用户00447295382513 小时前
练歌镜:让眼镜听懂“循环这一句”
javascript
Penge66613 小时前
CSS 核心布局指南:盒模型、Flex 布局与 Position 定位
前端
Penge66614 小时前
HTML基础:HTML 标签属性
前端
Penge66614 小时前
HTML 基础:块级元素、行内元素与行内块元素详解
前端
Penge66615 小时前
前端基础:html语义化
前端
用户308169987648515 小时前
同一个端口能被两个程序监听吗?TCP 11 组绑定实测
前端
deli00715 小时前
红绿灯配时实测:固定 60 秒 vs 自适应,2400 辆车差多少
前端