Vue Router路由傳參三種方法及區(qū)別

2023-07-16 10:50

1個(gè)回答
1、梁枝賀第一種方法:拼接方式:

methods:{

handleClick(id) {//直接調(diào)用$router.push 實(shí)現(xiàn)攜帶參數(shù)的跳轉(zhuǎn)

?this.$router.push({path: `/detail/${id}`,})

}

對(duì)應(yīng)路由配置:

{

path:'/detail/:id',

name:'detail',

component: detail

}?獲取參數(shù)方式:?this.$route.params.id

2、第二種方法:params傳參 (通過路由屬性中的name來確定匹配的路由,通過params來傳遞參數(shù)。)

methods:{

handleClick(id) {

this.$router.push({name:'detail', // 根據(jù)name確定匹配路由params: {id: id}})

}

//或者采用router-link前往Detail頁(yè)面

前往Detail頁(yè)面

對(duì)應(yīng)路由配置:

{

path:'/detail/:id',

name:'detail',

component: detail

}??獲取搭激參數(shù)方式:?this.$route.params.id

三、第三種方法:query傳參

使用path來匹配路由,然后通過query來傳橡派遞參數(shù),這種情況下 query傳遞的參數(shù)會(huì)顯示在url后面?id=?

methods:{

handleClick(id) {

this.$router.push({path:'/detail',query: {id: id}})

}

對(duì)應(yīng)路由配置:

{

path:'/detail',

name:'detail',

component: detail

}? //獲取參數(shù):this.$route.query.id

四、總結(jié):params和query中的區(qū)別

1、接收方式

query傳參:this.$route.query.id

params傳參:this.$route.params.id

2、路由展現(xiàn)方式

query傳參:/detail?id=1&user=123&identity=1&更多參數(shù)

params傳參:/detail/123
相關(guān)問答
Vue router 中 router-link 的 to 怎么綁定對(duì)象數(shù)組中的屬性
1個(gè)回答2022-12-16 03:40
沒有度到答案,自己試了下就可以了。 -------------------------------------- 只要把to改為:to就可以了 如 :to='routeto' data(){...
全文
什么是vue
1個(gè)回答2023-02-04 01:10
Vue.js是一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的 web 界面的漸進(jìn)式框架,是一個(gè)JavaScript MVVM庫(kù)。Vue.js 的目標(biāo)是通過盡可能簡(jiǎn)單的 API 實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。 與其他重量級(jí)框...
全文
為什么只會(huì)Vue的都是前端小白
1個(gè)回答2023-01-03 00:50
vue.js是一個(gè)前端框架,是寫好的一些封裝方法,不用自己去寫,可以直接調(diào)用
vue組件的問題
1個(gè)回答2022-10-18 05:41
因?yàn)閔eader.vue 只是你的header組件,而不是真正網(wǎng)頁(yè)的head,應(yīng)該是 標(biāo)簽所在的網(wǎng)頁(yè)里面加才可以,如果你用webstrom,可以用shift+ctrl+f,或者mac的話用shift+...
全文
大漠窮秋為什么只會(huì)vue的都是前端小白
1個(gè)回答2023-01-10 04:00
隔窗知夜雨,
鳥瞰地球 Terre vue du ciel, La 有幾集
1個(gè)回答2023-07-16 10:15
vue的v-if不停的銷毀和創(chuàng)建比較消耗性能嗎?
1個(gè)回答2022-10-21 02:36
是的是的是的
vue實(shí)現(xiàn)對(duì)象數(shù)組雙向綁定問題?
1個(gè)回答2023-02-02 17:00
加個(gè)v-key試試 每一個(gè)v-for循環(huán)渲染都建議綁定一個(gè)v-key,key在你這里可以是數(shù)組索引,比如說(item,index) in list ,v-key就是 :key="index",key...
全文
編程大白話之-vue頁(yè)面之間方法的互調(diào)
1個(gè)回答2023-10-22 09:22
1.利用ref 2.通過組件的 on方法; 1.直接在子組件中通過this.$parent.event來調(diào)用父組件的方法 2.在子組件中使用$emit向父組件觸發(fā)一個(gè)事件,父組件監(jiān)...
全文
vue引入組件不使用會(huì)不會(huì)影響性能?
4個(gè)回答2022-04-02 15:22
項(xiàng)目開發(fā)時(shí),我們會(huì)把多個(gè)地方重復(fù)使用的模塊抽象成組件,提供給大家一起使用,但是使用組件的時(shí)候偶爾會(huì)遇見一些問題,比如說組件里只有某些東西自己并不需要,這個(gè)時(shí)候我們可以對(duì)組件進(jìn)行簡(jiǎn)單的修改,而不影響其他...
全文
熱門問答