vue3 组合式api <script setup>中子组件之间传值逻辑

文章描述了在Vue中如何进行组件间的通信。子组件1使用`emit`触发自定义事件`clickMap`,将值传递给父组件。父组件接收到值后,通过自定义函数更新状态,并将新的值通过props传递给子组件2,实现数据流动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本逻辑

  1. 子组件1通过emit()触发自定义事件,把值传给父组件
  2. 父组件通过自定义事件接值
  3. 父组件通过自定义的函数把值传给子组件2

//子组件1
<script setup>
    const emit = defineEmits(['clickMap'])//引入自定义事件

    emit('clickMap', response.data)
</script>

//父组件 引入子组件1,通过自定义事件clickMap接受子组件1传的值
<WqMap @clickMap="showData" />

//父组件引入子组件2,自定义buy_rank属性
<BuyNumber :buy_rank="data.buy_rank" />


<script setup>

import { reactive } from "vue";

const data = reactive({
     buy_rank: []
})


const showData = (params) =>{
     data.buy_rank = params.buy_rank;
}
</script>

//子组件2  通过props获取父组件传递的值

:data="props.buy_rank"

<script setup>
    // 通过 props 获取父组件的值
    const props = defineProps({
        buy_rank: []
    })
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值