vue router解決路由帶參數(shù)跳轉(zhuǎn)時(shí)出現(xiàn)404問(wèn)題

我的頁(yè)面是從一個(gè)vue頁(yè)面router跳轉(zhuǎn)到另一個(gè)vue頁(yè)面,并且利用windows.open() 瀏覽器重新創(chuàng)建一個(gè)頁(yè)簽。但是不知道為什么有時(shí)候可以有時(shí)候又不行,經(jīng)過(guò)反復(fù)測(cè)試與分析,最終發(fā)現(xiàn)是因?yàn)橛幸粋€(gè)參數(shù)的值里包含了小數(shù)點(diǎn)., 小數(shù)點(diǎn)是瀏覽器合法字符,不能通過(guò)encode編碼轉(zhuǎn)義,于是乎:利用windws.atob() 將json字符串轉(zhuǎn)換未base64,接收端用windows.btoa(),將base64轉(zhuǎn)義過(guò)來(lái)。問(wèn)題得以解決。
路由定義
{
path: '/xxx/indexDetail:data',
name: 'indexDetail',
component: ()=> import('@/views/xxdx/indexDetail.vue'),
meta: { title: 'xxx', requiresAuth: true}
}
發(fā)送端:
import {useRouter} form 'vue-router'
const router = useRouter();
window.open(
router.resolve({
name: 'indexDetail',
params:{
data: window.btoa(JSON.stringify({'aaa': '1231.12'}));
}
})
)
接收端:
import {useRoute} form 'vue-router'
const route = useRoute();
params = window.atob(String(route.params.data));
但是,多次測(cè)試發(fā)現(xiàn),window.atob() 參數(shù)內(nèi)存在中文會(huì)報(bào)錯(cuò)。于是又一頓百度,最終完美解決
發(fā)送方:
import {useRouter} form 'vue-router'
const router = useRouter();
window.open(
router.resolve({
name: 'indexDetail',
params:{
data:window.btoa(encodeURIComponent(JSON.stringify({'aaa': '1231.12','bbb': '張三'})));
}
})
)
接收方:
import {useRoute} form 'vue-router'
const route = useRoute();
params = decodeURIComponent(window.atob(String(router.params.data)));
到此這篇關(guān)于vue router解決路由帶參數(shù)跳轉(zhuǎn)時(shí)出現(xiàn)404問(wèn)題的文章就介紹到這了,更多相關(guān)vue router路由跳轉(zhuǎn)404內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3如何利用自定義指令實(shí)現(xiàn)下拉框分頁(yè)懶加載
下拉框一開(kāi)始請(qǐng)求第一頁(yè)的內(nèi)容,滾動(dòng)到最后的時(shí)候,請(qǐng)求第二頁(yè)的內(nèi)容,如此反復(fù),直到所有數(shù)據(jù)加載完成,這篇文章主要介紹了vue3如何利用自定義指令實(shí)現(xiàn)下拉框分頁(yè)懶加載,需要的朋友可以參考下2024-07-07
關(guān)于vuex的數(shù)據(jù)持久化處理方式
這篇文章主要介紹了關(guān)于vuex的數(shù)據(jù)持久化處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
基于vue循環(huán)列表時(shí)點(diǎn)擊跳轉(zhuǎn)頁(yè)面的方法
今天小編就為大家分享一篇基于vue循環(huán)列表時(shí)點(diǎn)擊跳轉(zhuǎn)頁(yè)面的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Vue結(jié)合原生js實(shí)現(xiàn)自定義組件自動(dòng)生成示例
這篇文章主要介紹了Vue結(jié)合原生js實(shí)現(xiàn)自定義組件自動(dòng)生成示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
Vue Axios異步與數(shù)據(jù)類(lèi)型轉(zhuǎn)換問(wèn)題淺析
總的來(lái)說(shuō)這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過(guò)程。希望通過(guò)這道題能給你帶來(lái)一種解題優(yōu)化的思路,Axios是一個(gè)開(kāi)源的可以用在瀏覽器端和Node JS的異步通信框架,主要作用就是實(shí)現(xiàn)AJAX異步通信2023-01-01
vue實(shí)現(xiàn)左右點(diǎn)擊滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)左右點(diǎn)擊滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

