vue-router傳參的四種方式超詳細(xì)講解
vue路由傳參的四種方式
一、router-link路由導(dǎo)航方式傳參
父組件:<router-link to="/跳轉(zhuǎn)到的路徑/傳入的參數(shù)"></router-link>
子組件:this.$route.params.content接受父組件傳遞過來的參數(shù)
例如:
路由配置:
bashbash{path:'/father/son/:num',name:A,component:A}```地址欄中的顯示:
http://localhost:8080/#/father/son/44
調(diào)用方法:
<router-link to="/father/son/傳入的參數(shù)">父親組件<router-link> 子組件通過 this.$route.params.num 接受參數(shù)
二、調(diào)用$router.push實(shí)現(xiàn)路由傳參
父組件:通過實(shí)踐觸發(fā),跳轉(zhuǎn)代碼
<button @click="clickHand(123)">push傳參</button>
methods: {
clickHand(id) {
this.$router.push({
path: `/d/${id}`
})
}
}路由配置
{path: '/d/:id', name: D, component: D}
地址欄中顯示:
http://localhost:8080/d/123
子組件接受參數(shù)方式
mounted () {
this.id = this.$route.params.id
}三、通過路由屬性name匹配路由,再根據(jù)params傳遞參數(shù)
父組件:
<button @click="ClickByName()">params傳參</button>
ClickByName() {
this.$router.push({
name: 'B',
params: {
context: '吳又可吳又可吳又可'
}
})
}路由配置:路徑后不需要在加上傳入的參數(shù),但是name必須和父組件中的name一致
{path: '/b', name: 'B', component: B}地址欄中的顯示:地址欄不會(huì)帶有傳入的參數(shù),而且再次刷新頁(yè)面后參數(shù)會(huì)丟失
http://localhost:8080/#/b
子組件接收參數(shù)的方式:
<template>
<div id="b">
This is page B!
<p>傳入?yún)?shù):{{this.$route.params.context}}</p>
</div>
</template>四、通過query來傳遞參數(shù)
父組件:
<button @click="clickQuery()">query傳參</button>
clickQuery() {
this.$router.push({
path: '/c',
query: {
context: '吳又可吳又可'
}
})
}路由配置:不需要做任何修改
{path: '/c', name: 'C', component: C}地址欄中的顯示(中文轉(zhuǎn)碼格式):
http://localhost:8080/#/c?sometext=%E8%BF%99%E6%98%AF%E5%B0%8F%E7%BE%8A%E5%90%8C%E5%AD%A6
子組件接受方法:
<template>
<div id="C">
This is page C!
<p>這是父組件傳入的數(shù)據(jù): {{this.$route.query.context}}</p>
</div>
</template>工作中經(jīng)常用的也就是上面的幾種傳參方式,完結(jié)~ 歡迎點(diǎn)贊收藏哦
補(bǔ)充知識(shí):
vue-router傳遞參數(shù)的幾種方式
vue-router傳遞參數(shù)分為兩大類
1 編程式的導(dǎo)航 router.push
2聲明式的導(dǎo)航
編程式的導(dǎo)航 router.push
編程式導(dǎo)航傳遞參數(shù)有兩種類型:字符串、對(duì)象。
字符串
字符串的方式是直接將路由地址以字符串的方式來跳轉(zhuǎn),這種方式很簡(jiǎn)單但是不能傳遞參數(shù):
this.$router.push("home");
對(duì)象
使用方法如下:
this.$router.push({ name: 'news', params: { userId: 123 }})
name:為路由的名字
獲取參數(shù)
{{this.$route.params.userId}}
查詢參數(shù)
使用方法如下:
this.$router.push({ path: '/news', query: { userId: 123 }});
獲取參數(shù)
{{this.$route.query.userId}}
聲明式的導(dǎo)航
字符串方式
click to news page
命名路由方式
click to news page
查詢參數(shù)方式
click to news page
1.命名路由搭配params,刷新頁(yè)面參數(shù)會(huì)丟失
2.查詢參數(shù)搭配query,刷新頁(yè)面數(shù)據(jù)不會(huì)丟失
3.接受參數(shù)使用this.$router后面就是搭配路由的名稱就能獲取到參數(shù)的值
到此這篇關(guān)于vue-router傳參的四種方式超詳細(xì)的文章就介紹到這了,更多相關(guān)vue-router傳參方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Vue組件化中利用axios處理ajax請(qǐng)求的使用方法
這篇文章主要給大家介紹了在Vue組件化中利用axios處理ajax請(qǐng)求的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
element UI 中的 el-tree 實(shí)現(xiàn) checkbox&n
在日常項(xiàng)目開發(fā)中,會(huì)經(jīng)常遇到,樹形結(jié)構(gòu)的查詢方式,為了快速方便開發(fā),常常會(huì)使用到快捷的ui組件去快速搭樹形結(jié)構(gòu),這里我用的是 element ui 中的 el-tree,對(duì)element UI 中的 el-tree 實(shí)現(xiàn) checkbox 單選框及 bus 傳遞參數(shù)的方法感興趣的朋友跟隨小編一起看看吧2022-09-09
element?el-upload文件上傳覆蓋第一個(gè)文件的實(shí)現(xiàn)
這篇文章主要介紹了element?el-upload文件上傳覆蓋第一個(gè)文件的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
el-input設(shè)置后綴顯示單位并阻止?jié)L輪微調(diào)的解決方法
在Element UI或Element Plus中,使用el-input組件時(shí),可以通過suffix插槽添加單位顯示,如果設(shè)置了type為'number',滾輪滾動(dòng)可能會(huì)導(dǎo)致數(shù)值微調(diào),解決方法是阻止?jié)L輪事件的默認(rèn)行為,并用CSS隱藏掉輸入框的上下箭頭,確保數(shù)值輸入的準(zhǔn)確性,這樣既美觀又提升了用戶體驗(yàn)2024-09-09
vueJs函數(shù)toRaw?markRaw使用對(duì)比詳解
這篇文章主要為大家介紹了vueJs函數(shù)toRaw?markRaw使用對(duì)比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
vue3 onMounted異步函數(shù)同步請(qǐng)求async/await實(shí)現(xiàn)
這篇文章主要為大家介紹了vue3 onMounted初始化數(shù)據(jù)異步函數(shù)/同步請(qǐng)求async/await實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Vue?keep-alive的實(shí)現(xiàn)原理分析
這篇文章主要介紹了Vue?keep-alive的實(shí)現(xiàn)原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04

