vue中的路由傳值與重調(diào)本路由改變參數(shù)
一.vue路由傳值
在日常使用vue操作時(shí),某些場景需要用到路由之間的傳值,就是在使用router跳轉(zhuǎn)到另外一個(gè)路由時(shí)需要攜帶參數(shù)一并傳過去,這時(shí)候就需要用到路由傳值
這里用舉例的形式展示幾種方法:
先來看看router文件
const routes = [{ ? ? path: '/', ? ? component: A ? }, ? { ? ? path: '/B', ? ? component: B ? }, ]
在這里我們需要在A路由跳轉(zhuǎn)到B路由并攜帶一些值過去
方法一:(問號傳值)
在A路由中定義事件或使用<router-link>,這里使用事件展示:
this.$router.push("B?id=1");
在B路由中獲取傳遞的值:
console.log(this.$route.query.id);
方法二:query(此方法query的值會(huì)顯示在地址欄中)
在A路由中定義事件或使用<router-link>,這里使用事件展示:
?this.$router.push({ ? ? ? ? path: "B", ? ? ? ? query: { ? ? ? ? ? id: 1, ? ? ? ? ? name: "litiezhu", ? ? ? ? }, ? ? ? });
query方式與方法一一樣,在B組件中都是通過query方法獲取值:
console.log(this.$route.query);
此時(shí)頁面開發(fā)者工具中的Console中顯示:
{id: 1, name: 'litiezhu'}
方法三:params(此方法頁面刷新數(shù)據(jù)會(huì)丟失)
在A路由中定義事件或使用<router-link>,這里使用事件展示,name必須與router文件定義的name名稱一樣:
this.$router.push({ ? ? ? ? path: "B", ? ? ? ? params: { ? ? ? ? ? id: 1, ? ? ? ? ? name: "litiezhu", ? ? ? ? }, });
在B組件中通過params方法獲取值:
console.log(this.$route.params);
方法四:動(dòng)態(tài)路由(此方法頁碼刷新數(shù)據(jù)不會(huì)丟失,推薦此方法?。?/h3>
1.配置router文件
const routes = [{ ? ? path: '/', ? ? component: A ? }, ? { ? ? path: '/B/:id', ? ? component: B ? }, ]
2.在需要跳轉(zhuǎn)的頁面中
this.$router.push(/B/1);
3.在B組件中通過params方法獲取值:
console.log(this.$route.params.id);
4.此時(shí)url地址顯示為:
http://localhost:8080/#/B/1
二.重調(diào)本路由改變參數(shù)
有時(shí)候需要改變自己路由的參數(shù)來達(dá)到自己重調(diào)自己,舉個(gè)例子:
小說網(wǎng)站的點(diǎn)擊上下章節(jié)切換
其實(shí)就是在內(nèi)部的單擊事件中重調(diào)了自己的路由,不過傳遞的值不一樣,點(diǎn)擊后地址變?yōu)椋?/p>
1.使用query方法,而不用再path指定路徑了:
this.$router.push({ query: { id: 2 } });
url地址顯示為:
http://localhost:8080/#/B/1?id=2
2.使用params方法,同樣也不用再path指定路徑了:
this.$router.push({ params: { id: 2 } })
url地址顯示為:
http://localhost:8080/#/B/2
若要實(shí)現(xiàn)點(diǎn)擊上下章切換不同的小說內(nèi)容的功能,可以將query的id值進(jìn)行加減,并重新調(diào)用后端接口獲取數(shù)據(jù)來實(shí)現(xiàn)功能。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue.js學(xué)習(xí)筆記之綁定style樣式和class列表
數(shù)據(jù)綁定一個(gè)常見需求是操作元素的 class 列表和它的內(nèi)聯(lián)樣式。這篇文章主要介紹了vue.js綁定style和class的相關(guān)資料,需要的朋友可以參考下2016-10-10vue項(xiàng)目中l(wèi)oadsh庫常用方法說明
這篇文章主要介紹了vue項(xiàng)目中l(wèi)oadsh庫常用方法說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11vue動(dòng)態(tài)綁定class選中當(dāng)前列表變色的方法示例
這篇文章主要介紹了vue動(dòng)態(tài)綁定class選中當(dāng)前列表變色的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12啟動(dòng)myvue報(bào)錯(cuò)npm?ERR!?code?ENOENT?npm?ERR!?syscall?open的解
這篇文章主要介紹了啟動(dòng)myvue報(bào)錯(cuò)npm?ERR!?code?ENOENT?npm?ERR!?syscall?open的解決辦法,文中給出了詳細(xì)的解決方法,并通過圖文結(jié)合的方式介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03vue學(xué)習(xí)筆記之過濾器的基本使用方法實(shí)例分析
這篇文章主要介紹了vue學(xué)習(xí)筆記之過濾器的基本使用方法,結(jié)合實(shí)例形式分析了vue.js過濾器的基本功能、用法與操作注意事項(xiàng),需要的朋友可以參考下2020-02-02微信小程序如何像vue一樣在動(dòng)態(tài)綁定類名
這篇文章主要介紹了微信小程序如何像vue一樣在動(dòng)態(tài)綁定類名,文中給大家提到了vue與微信小程序的區(qū)別,需要的朋友可以參考下2018-04-04