概述
在vue2中的跨组件通信中,我们如果不用状态管理vuex的话,我们就会采用事件总线的通信的方式,但是在vue3中移除了事件总线,我们不能再这么用,所以官方给我们推荐了外部第三方的库来帮我们完成事件总线
mitt : https://github.com/developit/mitt
1.安装地址
npm install --save mitt
2.在vue项目中的utils文件夹,新建一个bus.js
bus.js
import mitt from "mitt";
const emitter = mitt()
export default emitter
3. 使用,我现在需要使用mitt进行兄弟组件之间的通信实现
search组件
<template>
<div @click="removeKey></div>
</template>
<script setup>
import emitter from "@/utils/bus";
const removeKey = () =>{
emitter.emit('clear' ,data)
}
</script>
header组件
<template>
<div ></div>
</template>
<script setup>
import { ref ,onBeforeUnmount} from "vue";
import emitter from '../utils/bus'
//接受
emitter.on('clear' ,(data) =>{
console.log(data);
})
onBeforeUnmount(() => {
emitter.off('clear') //关闭
})
</script>
最后
以上就是柔弱宝贝为你收集整理的vue3:兄弟组件,跨组件传值,事件总线的通信方式(mitt )的全部内容,希望文章能够帮你解决vue3:兄弟组件,跨组件传值,事件总线的通信方式(mitt )所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复