红枫心声社区

 找回密码
 立即注册

手机动态码快速登录

手机号快速注册登录

搜索
热搜: 活动
查看: 209|回复: 0

vue3跳转传参

[复制链接]

33

主题

33

帖子

219

积分

正式会员

Rank: 3Rank: 3

积分
219

活跃会员

发表于 2022-4-29 09:58:59 | 显示全部楼层 |阅读模式
vue2写法

1.加入传递的参数值

<router-link :to="{name:'generate', query:{ couponId: record.id }}">绑定账号</router-link>
2. 页面接收参数

const couponId = this.$route.query.couponId

vue3中与vue2不同:

<router-link :to="'/bindAccount/' + scope.row.id" class="link-type">

       <el-button type="text" icon="el-icon-link">绑定账号</el-button>

</router-link>

路由中:

{

//绑定账号

path: "/bindAccount/:id(\\d+)",

name: "bindAccount",

meta: {

        title: "绑定账号",

        auth: true,

       },

component: () => import("/@views/user/bindAccount.vue"),
},

其他方式跳转传参:

//方法一
//A页面传

import { getCurrentInstance } from "vue";

let { proxy }: any = getCurrentInstance();

proxy.$root.$router.push({ name: "set-meal", query: { mealMenuId: scope.id } });

//B页面接收

import { getCurrentInstance } from "vue";

let { proxy }: any = getCurrentInstance();

proxy.$root.$route.query.mealMenuId

//方法二
//或者同样可以用这个 //A页面传

import { useRouter ,useRoute} from "vue-router";

const router = useRouter();

router.push({ name: "set-meal", query: { mealMenuId: scope.id } })

//B页面接收

import { useRouter ,useRoute} from "vue-router";

const router = useRouter();

router.currentRoute.value.query.mealMenuId

//方法三
//如果不想让数据出现在url栏可以将query改为params,A页面传参

import { useRouter ,useRoute} from "vue-router";

const router = useRouter();

router.push({ name: "set-meal", params: { mealMenuId: scope.id } })

//B页面接收
import { useRouter ,useRoute} from "vue-router";

const router = useRouter();

router.currentRoute.value.params.mealMenuId

您需要登录后才可以回帖 登录 | 立即注册 手机动态码快速登录

本版积分规则

快速回复 返回顶部 返回列表