Vue路由傳遞query參數(shù)兩種方式
路由傳遞query參數(shù)兩種方式
路由是可以傳遞參數(shù)的,一般使用query進行傳參,有兩種方式,接下來一一展示
1 案例展示
先編寫一個簡單的案例
我這里用的一個三級路由

這里使用三級路由以及展示路由視圖

這樣點擊就跳轉(zhuǎn)對應的路徑了,接下來進行路由跳轉(zhuǎn)的時候傳參即可

2 路由傳參
路由可以傳遞兩種參數(shù)形式,一種是query字符串形式參數(shù),一種是對象形式參數(shù),下面進行說明
方式1:字符串傳參(不推薦)
參數(shù)和ajax或axios發(fā)送的query參數(shù)幾乎一致,寫法基本和和ajax一致,都是 url?key=value&拼接參數(shù)的格式,例如:
<router-link to="/home/message/detail?id=1&title=你好">

路徑上也會有所體現(xiàn)

傳遞完的參數(shù)就到$route的query里面,這里我在組件掛載的時候輸出了一個vc實例

可以在$route的query里面找到參數(shù)

接收路由參數(shù)
想要接收使用參數(shù),也直接從$route的query里面獲取即可


但是現(xiàn)在參數(shù)是死的,所以需要從表達式里面?zhèn)鬟f
表達式錯誤傳參
注意,在使用到表達式傳參的場景時,切不可使用下面兩種傳遞方式
這樣就會直接當前字符串解析


也不可以直接使用:to的方式,這樣會解析成一個表達式,無法識別報錯

表達式正確傳參
正確的做法應該是加上``并且使用$進行拼接傳遞

<!-- 跳轉(zhuǎn)路由并攜帶query參數(shù) to的字符串寫法 -->
<router-link :to="`/home/message/detail?id=${msg.id}&title=${msg.title}`">{{msg.title}}</router-link> 接收參數(shù)還是從$route的query里面獲取,這樣就可以完成使用query方式參數(shù)

但是query這種拼接方式有些復雜,所以有了第二種傳參方式,使用對象傳參
方式2:對象傳參(推薦)
對象方式進行傳參,既然現(xiàn)在to是一個對象,那么有幾個屬性可以使用
path:想去哪里跳轉(zhuǎn)
query:它是一個對象,在對象里面配置參數(shù)
<!-- 跳轉(zhuǎn)路由并攜帶query參數(shù) to的對象寫法 -->
<router-link :to="{
path:'/home/message/detail',
query:{id:msg.id,title:msg.title}
}">這種寫法清晰明了,推薦使用

3 總結(jié)
1 傳遞參數(shù)
<!-- 跳轉(zhuǎn)并攜帶query參數(shù),to的字符串寫法 -->
<router-link :to="/home/message/detail?id=666&title=你好">跳轉(zhuǎn)</router-link>
<!-- 跳轉(zhuǎn)并攜帶query參數(shù),to的對象寫法 -->
<router-link
:to="{
path:'/home/message/detail',
query:{
id:666,
title:'你好'
}
}"
>跳轉(zhuǎn)</router-link>2 接收參數(shù)
$route.query.id $route.query.title
以上就是Vue路由傳遞query參數(shù)兩種方式的詳細內(nèi)容,更多關于Vue路由傳遞query的資料請關注腳本之家其它相關文章!
相關文章
vue.js實現(xiàn)帶日期星期的數(shù)字時鐘功能示例
這篇文章主要介紹了vue.js實現(xiàn)帶日期星期的數(shù)字時鐘功能,涉及vue.js基于定時器的日期時間運算與數(shù)值操作相關使用技巧,需要的朋友可以參考下2018-08-08
Vue 中 reactive創(chuàng)建對象類型響應式數(shù)據(jù)的方法
在 Vue 的開發(fā)世界里,響應式數(shù)據(jù)是構(gòu)建交互性良好應用的基礎,之前我們了解了ref用于定義基本類型的數(shù)據(jù),今天就來深入探討一下如何使用reactive定義對象類型的響應式數(shù)據(jù),感興趣的朋友一起看看吧2025-02-02
詳解vue中v-for和v-if一起使用的替代方法template
這篇文章主要介紹了vue中v-for和v-if一起使用的替代方法template,使用的版本是vue?2.9.6和element-ui:?2.15.6,通過實例代碼給大家講解的非常詳細,需要的朋友可以參考下2022-05-05
Vue在echarts?tooltip中添加點擊事件案例詳解
本文主要介紹了Vue項目中在echarts?tooltip添加點擊事件的案例詳解,代碼具有一定的價值,感興趣的小伙伴可以來學習一下2021-11-11
解決vue-cli3創(chuàng)建使用iview定制主題javascriptEnabled找不到該配置項
這篇文章主要介紹了解決vue-cli3創(chuàng)建使用iview定制主題javascriptEnabled找不到該配置項問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
vue-element如何實現(xiàn)動態(tài)換膚存儲
這篇文章主要介紹了vue-element如何實現(xiàn)動態(tài)換膚存儲問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
vite+vue3項目報錯:TypeError:?Promise.allSettled?is?not?a?fu
Vite+Vue3項目中遇到“TypeError:?Promise.allSettled?is?not?a?function”錯誤,通常是因為當前運行的JavaScript環(huán)境不支持Promise.allSettled,下面就來介紹幾種解決方法,感興趣的可以了解一下2024-12-12
axios發(fā)送post請求,提交圖片類型表單數(shù)據(jù)方法
下面小編就為大家分享一篇axios發(fā)送post請求,提交圖片類型表單數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03

