Vue路由傳遞query參數(shù)兩種方式
路由傳遞query參數(shù)兩種方式
路由是可以傳遞參數(shù)的,一般使用query進行傳參,有兩種方式,接下來一一展示
1 案例展示
先編寫一個簡單的案例
我這里用的一個三級路由
這里使用三級路由以及展示路由視圖
這樣點擊就跳轉(zhuǎn)對應(yīng)的路徑了,接下來進行路由跳轉(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
表達式錯誤傳參
注意,在使用到表達式傳參的場景時,切不可使用下面兩種傳遞方式
這樣就會直接當(dāng)前字符串解析
也不可以直接使用:to的方式,這樣會解析成一個表達式,無法識別報錯
表達式正確傳參
正確的做法應(yīng)該是加上``并且使用$進行拼接傳遞
<!-- 跳轉(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這種拼接方式有些復(fù)雜,所以有了第二種傳參方式,使用對象傳參
方式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)容,更多關(guān)于Vue路由傳遞query的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue實現(xiàn)編輯器鍵盤抬起時內(nèi)容跟隨光標(biāo)距頂位置向上滾動效果
這篇文章主要介紹了vue實現(xiàn)編輯器鍵盤抬起時內(nèi)容跟隨光標(biāo)距頂位置向上滾動效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05關(guān)于el-scrollbar滾動條初始化不顯示的問題及解決
這篇文章主要介紹了關(guān)于el-scrollbar滾動條初始化不顯示的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08關(guān)于json-bigint處理大數(shù)字問題
這篇文章主要介紹了關(guān)于json-bigint處理大數(shù)字問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05vue使用svg文件補充-svg放大縮小操作(使用d3.js)
這篇文章主要介紹了vue使用svg文件補充-svg放大縮小操作(使用d3.js),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09