vue3路由跳转params传参接收不到的解决办法
作者:wyy爱学习
这篇文章主要给大家介绍了关于vue3路由跳转params传参接收不到的解决办法,Vue3是目前前端开发中非常流行的框架之一,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
一、之前的用法
import { useRouter } from "vue-router"; const router = useRouter(); // 提现记录 const withdrawalClick = (item) => { router.push({ name: "Devwithdrawal", params: { name: 123 } }); }; //跳转页面接收参数 import { useRoute } from "vue-router"; const route = useRoute(); console.log(route.params);
这样路由可以跳转过去,但接收到了params是一个空对象。
二、解决方法
通过查找资料,发现了原因。
https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22
由于之前的params传参在页面刷新之后,参数会丢失,所以vue将这种方法移除了。
vue推荐的路由跳转传参方法:
1.使用query传递参数
2.使用vuex、pinia对参数进行存储
3.使用 History API 方式传递和接收
const router = useRouter(); // 提现记录 const withdrawalClick = (item) => { router.push({ name: "Devwithdrawal", state: { obj1: { name: 1 }, obj2: { name: 2 } }, }); }; // 收益记录 const revenueClick = (item) => { router.push({ name: "Devwithdrawal", state: { obj3: { name: 3 } }, }); }; //跳转页面接受参数 console.log(history.state);
总结
到此这篇关于vue3路由跳转params传参接收不到的解决办法的文章就介绍到这了,更多相关vue3路由跳转params传参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!