mitt实现VUE3兄弟组件通信

步骤:

  1. 安装mittnpm install --save mitt
  2. 新建项目文件:src/utils/bus.ts,导出mitt
import mitt from "mitt";
const busEmitter = mitt()
export default busEmitter

3.page1.vue页面,使用 emit发送消息

import busEmitter from '@/utils/bus'

const addNodeFields = (type: string) => {
  busEmitter.emit('addNodeFields', type) 
}

4.page2.vue页面,使用 on接收消息,在页面销毁前订阅

import {onBeforeUnmount} from 'vue'
import busEmitter from '@/utils/bus'

busEmitter.on('addNodeFields', (type:string) => {
	//具体执行逻辑......
  editDialogVisible.value = true
})

//取消订阅
onBeforeUnmount(() => {
  busEmitter.off('addNodeFields')
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值