Vue3.0组件之间的传值

本文介绍了在Vue3中如何实现组件间的值传递,特别是从子组件step1向父组件step及后续组件step2传递数据。通过next方法将保存的id传给父组件,然后在父组件中存储并传递给step2。在step2中使用props接收到父组件传递的id。详细步骤包括事件监听、数据存储和props接收,确保了数据在组件间的有效流动。
摘要由CSDN通过智能技术生成


step1和step2都是step页面的组件
想把step1保存之后返回的id传到step2里面
注意:接收要用与setup同级定义一个props:{}进行接收,然后再把它赋给setup

在组件step1里面把参数值传过去

next(submitForm.id)
先把id传到跳转的事件里面
在保存成功的回调里面:

submitForm.id = res.data.id
next(submitForm.id)

在这里插入图片描述

先把id传到跳转的事件里面
在保存成功的回调里面:

submitForm.id = res.data.id
next(submitForm.id)

next跳转方法里面

const next = (id) => {
    context.emit("nextBtn",id);
}

在step页面(父页面)里面存起来

在这里插入图片描述
在这里插入图片描述
html:

 <div class="steps-content">
     <oneStep @nextBtn="nextBtn" v-if="current === 0"></oneStep>
 </div>
 <div class="steps-content" v-if="current === 1">
     <twoStep @nextTwo="nextTwo" :stepId="stepId" @lastTwo="lastTwo"></twoStep>
 </div>

JS:

 let stepId = ref("")
 const nextBtn = (id) => {
   console.log(id)
   stepId.value = id
   console.log(stepId.value)
   current.value = 1;
 }
 const nextTwo = () => {
   current.value = 2;
 }

第一个组件触发nextBtn,跳转到第二个组件
在step里面,
在html里面先:stepId="stepId"把组件传的值接收过来
把从step1里面传进来的id给存放到stepId里面

在step2页面里面取出来

在这里插入图片描述

与setup同级定义一个props进行接收

props: {
        stepId: Number
},

在setup里面:

let stepId = ref("")
 return {
    stepId: props.stepId,
 }

此时这个stepId就是我们要接收的id值
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值