vue3 攜帶參數(shù)跳轉(zhuǎn)|router傳參方式
攜帶參數(shù)跳轉(zhuǎn)|router傳參
A頁(yè)面點(diǎn)擊按鈕后攜帶參數(shù)跳轉(zhuǎn)到B頁(yè)面
原理
- 導(dǎo)入router import { useRouter } from "vue-router";
- A頁(yè)面?zhèn)鲄outer.push({})
- B頁(yè)面接收route.params.num;
demo
route.js
{ path: '/A', name:'A',component: () => import('pages/A.vueB') }, { path: '/B', name:'B',component: () => import('pages/B.vue') }
A頁(yè)面
<template> <button @click="go">跳轉(zhuǎn)</button> </template> <script> import { useRouter } from "vue-router"; export default ({ setup(props, ctx) { //router是全局路由對(duì)象,route= userRoute()是當(dāng)前路由對(duì)象 let router = useRouter(); const go=()=>{ router.push({ //傳遞參數(shù)使用params的話,只能使用name指定(在route.js里面聲明name) name:"B", params:{ num:1 } /* 使用query的話,指定path或者name都行 path:'/home', query:{ num:1 } */ }) } return{ go, } } }) </script>
B頁(yè)面
<template> {{ num }} </template> <script> import { useRoute } from "vue-router"; export default { setup(props, ctx) { //router是全局路由對(duì)象,route= userRoute()是當(dāng)前路由對(duì)象 let route = useRoute(); const num = route.params.num; console.log(num); return { num, }; }, }; </script>
vue路由跳轉(zhuǎn),參數(shù)的攜帶與獲取
// 參數(shù)的攜帶兩種方式如下 (1) this.$router.push({ name:'orderDetail', params:{id:14} }) (2) this.$router.push({ path:'/microcosm/orderDetail', params:{id:14} }) // 獲取參數(shù) 對(duì)應(yīng)上面的順序 (1) this.$route.params.id (2) this.$route.query.id
第一種方式
(1)攜帶的參數(shù)沒(méi)有拼接在url地址后面;數(shù)據(jù)比較保密,但是name屬性要在路由表中配置name屬性
(2)但是跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面后,刷新該頁(yè)面攜帶的參數(shù)會(huì)丟失,如果是根據(jù)攜帶參數(shù)獲取的數(shù)據(jù),會(huì)出現(xiàn)一定的問(wèn)題
第二種方式
(1)攜帶的參數(shù)拼接在url地址后面;不用再路由表中配置name屬性
(2)跳轉(zhuǎn)到對(duì)應(yīng)的頁(yè)面后,刷新頁(yè)面不會(huì)出現(xiàn)上一個(gè)頁(yè)面攜帶的參數(shù)丟失的情況
以上方式可以根據(jù)項(xiàng)目的需求進(jìn)行選擇。
我本人一般選擇的是第二種方式,一般把數(shù)據(jù)拼接在url后面的,都是一些不重要的數(shù)據(jù),最重要的是不會(huì)出現(xiàn)刷新頁(yè)面,出現(xiàn)攜帶的數(shù)據(jù)丟失情況
好了,這些僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何在ElementUI的上傳組件el-upload中設(shè)置header
這篇文章主要介紹了如何在ElementUI的上傳組件el-upload中設(shè)置header,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09vue?動(dòng)態(tài)style?拼接寬度問(wèn)題
這篇文章主要介紹了vue?動(dòng)態(tài)style?拼接寬度問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09VUE PC端可拖動(dòng)懸浮按鈕的實(shí)現(xiàn)代碼
這篇文章主要介紹了VUE PC端可拖動(dòng)懸浮按鈕的實(shí)現(xiàn)代碼,通過(guò)實(shí)例代碼介紹了父頁(yè)面引用的方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02uniapp 小程序和app map地圖上顯示多個(gè)酷炫動(dòng)態(tài)的標(biāo)點(diǎn)效果(頭像后端傳過(guò)來(lái))
這篇文章主要介紹了uniapp 小程序和app map地圖上顯示多個(gè)酷炫動(dòng)態(tài)的標(biāo)點(diǎn)效果(頭像后端傳過(guò)來(lái)),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09Vue組件庫(kù)Element-常見(jiàn)組件表格示例代碼
對(duì)于Element組件的使用,最主要的就是明確自己想要達(dá)到的效果,從官網(wǎng)中將對(duì)應(yīng)代碼復(fù)制粘貼即可,最重要的是要讀懂不同組件官網(wǎng)中提供的文檔,以便實(shí)現(xiàn)自己想要的效果,本文給大家介紹Vue組件庫(kù)Element-常見(jiàn)組件表格,感興趣的朋友一起看看吧2023-10-10Vue.js項(xiàng)目實(shí)戰(zhàn)之多語(yǔ)種網(wǎng)站的功能實(shí)現(xiàn)(租車(chē))
這篇文章主要介紹了Vue.js項(xiàng)目實(shí)戰(zhàn)之多語(yǔ)種網(wǎng)站(租車(chē))的功能實(shí)現(xiàn) ,需要的朋友可以參考下2019-08-08如何利用vue3實(shí)現(xiàn)放大鏡效果實(shí)例詳解
最近有項(xiàng)目需要用到對(duì)圖片進(jìn)行局部放大,類(lèi)似淘寶商品頁(yè)的放大鏡效果,經(jīng)過(guò)一番研究功能可用,下面這篇文章主要給大家介紹了關(guān)于如何利用vue3實(shí)現(xiàn)放大鏡效果的相關(guān)資料,需要的朋友可以參考下2021-09-09vue實(shí)現(xiàn)pdf文檔在線預(yù)覽功能
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)pdf文檔在線預(yù)覽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11Vue?nextTick獲取更新后的DOM的實(shí)現(xiàn)
本文主要介紹了Vue?nextTick獲取更新后的DOM的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01