vben admin路由跳转拿不到param参数问题

vben admin路由跳转拿不到param参数问题

问题原因:
在这里插入图片描述

也就是说,从Vue Router的2022-8-22 这次更新后,我们使用上面的方式在新页面无法获取:

vue也给我们提出了解决方案:

​ 1.使用 query 的方式传参

​ 2.将参数放在 pinia 或 vuex仓库里

​ 3.使用动态路由匹配

​ 4.[传递 state,在新页面使用 History API 接收参数](#使用 History API 方式传递和接收)

​ 5.使用 meta 原信息方式传递 (此方式更适用于路由守卫)

目前使用第4种方式,本地已验证成功。

传参页面:

<template>
  <div>{{ title }}</div>
  <a-button type="primary" @click="toUrl">路由跳转测试</a-button>
</template>

<script lang="ts" setup>
  import { ref } from 'vue';
  import { router } from '@/router';

  const title = ref<string>('这是产品管理页面');
  const params = {
    type: 'asd',
    name: 'viking',
    age: 20,
    habooy: [1, 3, 43, 5, 6, 6],
  };

  const toUrl = () => {
    // router.push(PageEnum.BASE_LOGIN);
    router.push({
      name: 'DpMange',
      state: { params },
    });
  };
</script>

<style scoped></style>

接收页面:

<template>
  <div>{{ title }}</div>
</template>

<script lang="ts" setup>
  import { ref, onMounted } from 'vue';

  const title = ref<string>('路由测试页面');

  onMounted(() => {
    const historyParams = history.state.params;
    console.log('history.state,@@@@@@@@@@@@@@@@@@@@@@@@@@@', history.state, historyParams);
  });
</script>

<style scoped></style>

测试结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LazyCat_Wei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值