vue?router進(jìn)行路由跳轉(zhuǎn)并攜帶參數(shù)的實(shí)例詳解(params/query)
在使用`router.push`進(jìn)行路由跳轉(zhuǎn)到另一個(gè)組件時(shí),可以通過`params`或`query`來傳遞參數(shù)。
1. 使用`params`傳參:
// 在路由跳轉(zhuǎn)時(shí)傳遞參數(shù) router.push({ name: 'targetComponent', params: { paramName: paramValue // 參數(shù)名和值 } }); // 在目標(biāo)組件中通過$route.params獲取參數(shù)值 this.$route.params.paramName
2. 使用`query`傳參:
// 在路由跳轉(zhuǎn)時(shí)傳遞參數(shù) router.push({ name: 'targetComponent', query: { paramName: paramValue // 參數(shù)名和值 } }); // 在目標(biāo)組件中通過$route.query獲取參數(shù)值 this.$route.query.paramName
需要注意的是,`params`傳參會(huì)將參數(shù)添加到URL路徑中,而`query`傳參則會(huì)將參數(shù)添加到URL的查詢字符串中。根據(jù)具體需求選擇適合的方式進(jìn)行參數(shù)傳遞。
二者的區(qū)別:
`params`和`query`是Vue Router中用于傳遞參數(shù)的兩種方式,它們有以下區(qū)別:
1. URL形式:
- `params`傳參:參數(shù)會(huì)以占位符的形式添加到URL路徑中,例如:`/targetComponent/:paramName`
- `query`傳參:參數(shù)會(huì)以鍵值對(duì)的形式添加到URL的查詢字符串中,例如:`/targetComponent?paramName=paramValue`
2. 參數(shù)的可見性:
- `params`傳參:參數(shù)會(huì)在URL中暴露,可以被查看和修改,適合傳遞敏感數(shù)據(jù)。
- `query`傳參:參數(shù)在URL中不直接暴露,不會(huì)修改URL路徑,適合傳遞非敏感數(shù)據(jù)。
3. 參數(shù)的傳遞方式:
- `params`傳參:參數(shù)通過路由的`params`屬性進(jìn)行傳遞,傳遞的參數(shù)是一個(gè)對(duì)象。
- `query`傳參:參數(shù)通過路由的`query`屬性進(jìn)行傳遞,傳遞的參數(shù)是一個(gè)鍵值對(duì)的對(duì)象。
4. 路由配置:
- `params`傳參:需要在路由配置中定義參數(shù)的名稱,以冒號(hào)開頭,例如:`path: '/targetComponent/:paramName'`
- `query`傳參:不需要在路由配置中定義參數(shù),可以直接使用。
需要根據(jù)具體的需求選擇適合的方式進(jìn)行參數(shù)傳遞。如果參數(shù)需要在URL中暴露或需要保留在瀏覽器的歷史記錄中,可以使用`params`傳參;如果參數(shù)是一些臨時(shí)的、非敏感的數(shù)據(jù),可以使用`query`傳參。
注意:如上方舉例,如果paramValue是一個(gè)對(duì)象,跳轉(zhuǎn)完頁面后,如果進(jìn)行頁面刷新,會(huì)發(fā)現(xiàn)取到的值變成了[object Object]
可以在傳遞參數(shù)時(shí)先JSON.stringify,取值時(shí)JSON.parse解析
舉例:
// 傳遞時(shí) this.$router.push({ path: "/screen/project", query: { paramName: JSON.stringify(this.paramValue) } }); // 接收時(shí) JSON.parse(this.$route.query.paramName);
到此這篇關(guān)于vue router進(jìn)行路由跳轉(zhuǎn)并攜帶參數(shù)(params/query)的文章就介紹到這了,更多相關(guān)vue router路由跳轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue中$router.push()路由切換及如何傳參和獲取參數(shù)
- vue-router路由傳參及隱藏參數(shù)問題
- vue-router如何實(shí)時(shí)動(dòng)態(tài)替換路由參數(shù)(地址欄參數(shù))
- Vue3使用vue-router如何實(shí)現(xiàn)路由跳轉(zhuǎn)與參數(shù)獲取
- 如何處理vue router 路由傳參刷新頁面參數(shù)丟失
- vue router動(dòng)態(tài)路由設(shè)置參數(shù)可選問題
- vue-router路由參數(shù)刷新消失的問題解決方法
- 詳解vue-router2.0動(dòng)態(tài)路由獲取參數(shù)
- Vue Router中獲取路由傳遞過來的參數(shù)(方法詳解)
相關(guān)文章
mpvue微信小程序開發(fā)之實(shí)現(xiàn)一個(gè)彈幕評(píng)論
這篇文章主要介紹了mpvue小程序開發(fā)之 實(shí)現(xiàn)一個(gè)彈幕評(píng)論功能,本文通過實(shí)例講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11vue跳轉(zhuǎn)頁簽傳參并查詢參數(shù)的保姆級(jí)教程
這篇文章主要介紹了vue跳轉(zhuǎn)頁簽傳參并查詢參數(shù)的保姆級(jí)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04表格Table實(shí)現(xiàn)前端全選所有功能方案示例(包含非當(dāng)前頁)
這篇文章主要為大家介紹了表格Table實(shí)現(xiàn)前端全選所有功能,包括非當(dāng)前頁的方案示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-02-02vant/vue手機(jī)端長按事件以及禁止長按彈出菜單實(shí)現(xiàn)方法詳解
這篇文章主要介紹了vant/vue手機(jī)端長按事件以及禁止長按彈出菜單實(shí)現(xiàn)方法詳解,需要的朋友可以參考下2022-12-12vue-drag-chart 拖動(dòng)/縮放圖表組件的實(shí)例代碼
這篇文章主要介紹了vue-drag-chart 拖動(dòng)/縮放的圖表組件的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04vue封裝可復(fù)用組件confirm,并綁定在vue原型上的示例
今天小編就為大家分享一篇vue封裝可復(fù)用組件confirm,并綁定在vue原型上的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10解決Vue3?echarts?v-show無法重新渲染的問題
這篇文章主要介紹了Vue3?echarts?v-show無法重新渲染的問題,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09