詳解Vue中一種簡(jiǎn)易路由傳參辦法
情景模擬:
A頁(yè)面中,有一些div是根據(jù)A中的book數(shù)據(jù)通過(guò)v-for生成的,比如item。
并且點(diǎn)擊會(huì)根據(jù)路由跳轉(zhuǎn)到B頁(yè)面。
而跳轉(zhuǎn)到B頁(yè)面后,我需要A中的item。
<div v-for="(item,index) in book" :class='{on:$route.path === `/${item.to}/`}' @click='toOther(item.to)'>
</div>
toOther(to,run) {
if(this.$route.path!==`/${to}`){
location.hash = to;
}
},
解決辦法:
在A中的click事件中將item傳進(jìn)toOther()函數(shù)中,再根據(jù)路由傳入
toOther(to,run) {
if(this.$route.path!==`/${to}`){
location.hash = to+'?'+run.key;
}
},
即將要傳的參數(shù)添加在原本url加?之后,這樣既不影響路由,也比較方便。
如圖1所示:


如圖2,這樣子我們便可以在 this.$route 的fullPath中拿到A中我們需要傳遞的參數(shù)了。
具體要拿還需要進(jìn)行字符串的分割取出所需的信息,但是這樣子會(huì)很繁瑣,我們只需多加幾個(gè)字,
在你的參數(shù)前加上'sth'=
toOther(to,run) {
if(this.$route.path!==`/${to}`){
location.hash = to+'?'+'book_key='+run.key;
}
},
你就會(huì)發(fā)現(xiàn)你可以在query中拿到這些個(gè)數(shù)據(jù)
并且是一個(gè)object的形式
簡(jiǎn)直不能更完美!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在 Vue 3 中上傳 KML 文件并在地圖上顯示的實(shí)現(xiàn)方法
KML 文件作為一種標(biāo)準(zhǔn)的地理數(shù)據(jù)格式,廣泛應(yīng)用于地理信息系統(tǒng)(GIS)中,通過(guò) OpenLayers 和 Vue 3 的組合,您可以方便地實(shí)現(xiàn)地圖數(shù)據(jù)的可視化和交互,本文介紹在 Vue 3 中上傳 KML 文件并在地圖上顯示的實(shí)現(xiàn)方法,感興趣的朋友一起看看吧2024-12-12
使用VitePress搭建及部署vue組件庫(kù)文檔的示例詳解
這篇文章主要介紹了使用VitePress搭建及部署vue組件庫(kù)文檔,本文以element-plus作為示例來(lái)搭建一個(gè)文檔,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
前端利用vue實(shí)現(xiàn)導(dǎo)入和導(dǎo)出功能詳細(xì)代碼
最近項(xiàng)目中讓實(shí)現(xiàn)一個(gè)導(dǎo)入導(dǎo)出Excel的功能,下面這篇文章主要給大家介紹了關(guān)于前端利用vue實(shí)現(xiàn)導(dǎo)入和導(dǎo)出功能的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09

