兄弟组件传参数

mitt使用方式和vue2的事件大巴类似。

  • 安装
npm i mitt -S
  • 新建plugin/Bus.js
import mitt from 'mitt '
cosnt emitter = mitt()
export default emitter
  • Home.vue
<templete>
<A />
<B />
<templete>
<script setup>
import A from '../components/A.vue'
import B from '../components/B.vue'
</script>
  • A.vue
<template>
<div>
<h1>A组件</h1>
<button @click='btn'>按钮</button>
</div>
</template>
<script setup>
import mitter from '/plugin/Bus.js '
const str = ref('A组件的数据');
const btn = ()=>{
mitter.emit('fn',str)
}

</script>
  • B.vue
<template>
<div>
<h1>B组件</h1>
<div><{{variable}}/div>
</div>
</template>
<script setup>
import mitter from '/plugin/Bus.js '
const variable = ref('')
onBeforeMount(()=>{
const mitter.on('fn',res=>{
variable.value = res.value;
})
})

</script>