一、之前的用法
import { useRouter } from "vue-router";
const router = useRouter();
// 提現(xiàn)記錄
const withdrawalClick = (item) => {
router.push({ name: "Devwithdrawal", params: { name: 123 } });
};
//跳轉(zhuǎn)頁面接收參數(shù)
import { useRoute } from "vue-router";
const route = useRoute();
console.log(route.params);
這樣路由可以跳轉(zhuǎn)過去,但接收到了params是一個空對象。
二、解決方法
通過查找資料,發(fā)現(xiàn)了原因。
https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22
由于之前的params傳參在頁面刷新之后,參數(shù)會丟失,所以vue將這種方法移除了。
vue推薦的路由跳轉(zhuǎn)傳參方法:
1.使用query傳遞參數(shù)
2.使用vuex、pinia對參數(shù)進行存儲文章來源:http://www.zghlxwxcb.cn/news/detail-530816.html
3.使用 History API 方式傳遞和接收文章來源地址http://www.zghlxwxcb.cn/news/detail-530816.html
const router = useRouter();
// 提現(xiàn)記錄
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 } },
});
};
//跳轉(zhuǎn)頁面接受參數(shù)
console.log(history.state);


到了這里,關(guān)于vue3路由跳轉(zhuǎn)params傳參接收不到?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!