Vue3使用router,params傳參為空問(wèn)題
Vue3使用router,params傳參為空
Vue Router更新后,我們使用param傳參在新頁(yè)面無(wú)法獲取數(shù)據(jù)。
1.使用query方式傳參
只需要將params變?yōu)閝uery就行。
注意:
query傳參只能用路由表中的path,不是name,并且所有參數(shù)都會(huì)顯示在URL地址上。
<template>
<span
class="battery-capacity"
@click="goBatteryClusterInfo(index)">
</span>
</template>
<script setup lang="ts">
import { useRouter } from "vue-router"
const router = userRouter;
const goBatteryClusterInfo = (index: number): void => {
let param = index + 1;
router.push({
name: "batteryClusterDetail",
query: { param },
});
};
</script>2.使用 History API 方式傳遞和接收
在跳轉(zhuǎn)前的頁(yè)面使用 state 參數(shù):
<template>
<span
class="battery-capacity"
@click="goBatteryClusterInfo(index)">
</span>
</template>
<script setup lang="ts">
import { useRouter } from "vue-router"
const router = userRouter;
const goBatteryClusterInfo = (index: number): void => {
let param = index + 1;
// 使用 History API 方式傳遞和接收,在跳轉(zhuǎn)前的頁(yè)面使用 state 參數(shù)
router.push({
name: "batteryClusterDetail",
state: { param },
});
};
</script>在另一個(gè)頁(yè)面中獲取數(shù)據(jù)
// 獲取history中我們上個(gè)頁(yè)面保存的數(shù)據(jù) const historyParam = history.state.param; console.log(history.state,"history.state")
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用ElementUI修改el-tabs標(biāo)簽頁(yè)組件樣式
這篇文章主要介紹了使用ElementUI修改el-tabs標(biāo)簽頁(yè)組件樣式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
Vue.js bootstrap前端實(shí)現(xiàn)分頁(yè)和排序
這篇文章主要為大家詳細(xì)介紹了Vue.js結(jié)合bootstrap前端實(shí)現(xiàn)分頁(yè)和排序效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
vue+Element-ui實(shí)現(xiàn)分頁(yè)效果實(shí)例代碼詳解
這篇文章主要介紹了vue+Element-ui實(shí)現(xiàn)分頁(yè)效果 ,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12
詳解處理Vue單頁(yè)面應(yīng)用SEO的另一種思路
這篇文章主要介紹了詳解處理Vue單頁(yè)面應(yīng)用SEO的另一種思路,本文主要針對(duì) vue 2.0 單頁(yè)面 Meta SEO 優(yōu)化展開(kāi)介紹,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-11-11

