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()
相关推荐
星星在线13 分钟前
我是怎么把页面图片流量砍掉一半的
前端·javascript
木叶子---1 小时前
前端打包出错
前端·人工智能·tensorflow
JAVA面经实录9171 小时前
前端系统化学习计划表(含完整知识思维导图)
前端·学习
本末倒置1831 小时前
开发了一个所见所得的md编辑器,致敬Typora大佬
前端
kyriewen2 小时前
TypeScript 高级类型:我用 infer 写了一个类型安全的 EventBus,终于搞懂了泛型约束
前端·javascript·typescript
UXbot2 小时前
原型设计工具如何帮助新人快速进入产品行业?
前端·低代码·ui·交互·团队开发·原型模式·web app
黄敬峰3 小时前
从 DFS 遍历到抖音推荐算法:前端工程师的硬核复习笔记
前端
zach3 小时前
网页中的虚拟滚动技术是不是源自IOS中的tableview的机制
前端
林希_Rachel_傻希希3 小时前
1小时速通React之Hooks
前端·javascript·面试