1、vue3的mitt相对于vue2来说有点像缝合怪,特别像是全局事件总线与消息订阅与发布的结合版。使用起来有细微区别,下面来认识一下。
2、安装mitt。
npm i mitt
3、新建一个emitter.ts文件。(名字任起)
//导入mitt
import mitt from 'mitt'
//创建mitt实例
const emitter = mitt()
//暴露mitt实例
export default emitter
4、使用mitt。
//发送方
//导入mitt
import emitter from "@/emitter.ts"
let num = 18
emitter.emit("re",num)
//接收方
//导入mitt
import emitter from "@/emitter.ts"
import { ref, onUnmounted } from 'vue';
let newNum=ref('')
//接收数据
emitter.on("re",e=>{
newNum.value = e
})
//取消订阅(不取消的话会造成内存泄漏)
onUnmounted(() => {
emitter.off('re');
}