Vue3

Vue3基础之兄弟组件传值

2023-06-05  本文已影响0人  翟小乙

简述

在做项目时,我们尽量会把各个功能进行模块化封装,父组件页面,只需要集成这个子模块即可,然而因业务需要,避免不了子组件直接进行通信数据交互等,下面我们通过mitt插件来实现子组件直接通信。
例如:父组件引用了A子组件和B子组件,A组件需要把值传递给B组件?

1. 安装mitt
npm install --save mitt
2. 引用mitt
//bus.js
import mitt from 'mitt'
export default mitt()

引用 import mitt from '../plugins/Bus', mitt.emit() 发送

<template>
  <div> 
     <button @click="sendValueToB">传值B</button> 
  </div>
</template>
<script setup>
import mitt from '../plugins/Bus'
 import {ref} from 'vue'
  
 const sendValueToB = ()=>{
     mitt.emit('aTob',123)
 }
 
</script> 

引用 import mitt from '../plugins/Bus', mitt.on() 监听接收

<script setup>
 import {ref} from 'vue'
import mitt from '../plugins/Bus'
  const value = ref(0)
  mitt.on('aTob',e=>{
     value.value = e
  })
</script>
上一篇 下一篇

猜你喜欢

热点阅读