最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue-router路由傳參的兩種方式詳解(params和query)

 更新時間:2024年12月13日 09:14:09   作者:喵喵醬仔__  
vue-router 是一個基于vue.js的路由器,它提供了強大的路由功能,能夠幫助開發(fā)者快速構(gòu)建單頁應(yīng)用程序,本文將詳細(xì)介紹 vue-router 路由傳參的方法,包括路由傳參的概念、路由傳參的方法、路由傳參的應(yīng)用場景等,需要的朋友可以參考下

一、vue-router路由傳參問題

1、概念:

A、vue 路由傳參的使用場景一般應(yīng)用在父路由跳轉(zhuǎn)到子路由時,攜帶參數(shù)跳轉(zhuǎn)。
B、傳參方式可劃分為 params 傳參和 query 傳參;
C、而 params 傳參又可分為在 url 中顯示參數(shù)和不顯示參數(shù)兩種方式;
D、即vue路由傳參的三種方式:query傳參(顯示參數(shù))、params傳參(顯示參數(shù))、params傳參(不顯示參數(shù))

2、常見場景:

A、點擊列表詳情,跳轉(zhuǎn)到詳情內(nèi)頁,傳遞id參數(shù)獲取詳情數(shù)據(jù)。
B、在輸入框輸入內(nèi)容后,點擊搜索,跳轉(zhuǎn)到搜索頁面,并把輸入的內(nèi)容一起帶到搜索頁面

方式一:query傳參(顯示參數(shù))

query 傳參(顯示參數(shù))可分為 聲明式 和 編程式 兩種方式

1、聲明式 router-link

該方式也是通過 router-link 組件的 to 屬性實現(xiàn),不過使用該方式傳值的時候,需要子路由提前配置好路由別名 (name 屬性),例如:

//子路由配置
{
  path: '/child,
  name: 'Child',
  component: Child
}
//父路由組件
<router-link :to="{name:'Child',query:{id:123}}">進(jìn)入Child路由</router-link>

2、編程式 this.$router.push

使用該方式傳值的時候,同樣需要子路由提前配置好路由別名 (name 屬性),例如:

//子路由配置
{
  path: '/child,
  name: 'Child',
  component: Child
}
//父路由編程式傳參(一般通過事件觸發(fā))
this.$router.push({
    name:'Child',
    query:{
    	id:123
    }
})
復(fù)制代碼

接收參數(shù):在子路由中可以通過下面代碼來獲取傳遞的參數(shù)值

this.$route.query
console.log( this.$route.query ) // { id:123 }
console.log( this.$route.query.id ) // 123

方式二:params傳參(顯示參數(shù))

params 傳參(顯示參數(shù))又可分為 聲明式 和 編程式 兩種方式

1、聲明式 router-link

該方式是通過 router-link 組件的 to 屬性實現(xiàn),該方法的參數(shù)可以是一個字符串路徑,或者一個描述地址的對象。使用該方式傳值的時候,需要子路由提前配置好參數(shù),例如:

//子路由配置
{
  path: '/child/:id',
  component: Child
}
//父路由組件
<router-link :to="/child/123">進(jìn)入Child路由</router-link>

2、編程式 this.$router.push

使用該方式傳值的時候,同樣需要子路由提前配置好參數(shù),例如:

//子路由配置
{
  path: '/child/:id',
  component: Child
}
//父路由編程式傳參(一般通過事件觸發(fā))
this.$router.push({
    path:`/child/${id}`, // 模板字符串形式
})

接收參數(shù):在子路由中可以通過下面代碼來獲取傳遞的參數(shù)值

this.$route.params.id
console.log( this.$route.params ) // { id:123 }
console.log( this.$route.params.id ) // 123

方式三:params傳參(不顯示參數(shù))

params傳參(不顯示參數(shù))也可分為 聲明式 和 編程式 兩種方式,與方式一不同的是,這里是通過路由的別名 name 進(jìn)行傳值的

1、聲明式router-link

該方式也是通過 router-link 組件的 to 屬性實現(xiàn),例如:

<router-link :to="{name:'Child',params:{id:123}}">進(jìn)入Child路由</router-link>

2、編程式this.$router.push

使用該方式傳值的時候,同樣需要子路由提前配置好參數(shù),不過不能再使用 :/id 來傳遞參數(shù)了,因為父路由中,已經(jīng)使用params來攜帶參數(shù)了,例如:

//子路由配置
{
  path: '/child,
  name: 'Child',
  component: Child
}
//父路由編程式傳參(一般通過事件觸發(fā))
this.$router.push({
    name:'Child',
    params:{
    	id:123
    }
})

接收參數(shù):在子路由中可以通過下面代碼來獲取傳遞的參數(shù)值

this.$route.params.id
console.log( this.$route.params ) // { id:123 }
console.log( this.$route.params.id ) // 123

二、params傳參與query傳參區(qū)別:

  • 1.使用query傳參,類似于get請求;使用params傳參,類似于post請求。
  • 2.query的語法用于path編寫的傳參地址,也可用于name編寫的傳參地址;params的語法必須用于name編寫的傳參地址
  • 3.query傳遞顯示參數(shù),刷新頁面,參數(shù)不丟失;params傳遞不顯示參數(shù),刷新頁面,參數(shù)丟失;params相對于query來說較安全一點

以上就是vue-router路由傳參的兩種方式詳解(params和query)的詳細(xì)內(nèi)容,更多關(guān)于vue-router路由傳參方式的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue下的國際化處理方法

    Vue下的國際化處理方法

    下面小編就為大家分享一篇Vue下的國際化處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Vue組件的使用及個人理解與介紹

    Vue組件的使用及個人理解與介紹

    本文介紹了VUE中組件的基本使用以及個人對VUE組件的理解,希望能幫助到大家
    2019-02-02
  • 15分鐘上手vue3.0(小結(jié))

    15分鐘上手vue3.0(小結(jié))

    這篇文章主要介紹了15分鐘上手vue3.0,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Vue.js構(gòu)建你的第一個包并在NPM上發(fā)布的方法步驟

    Vue.js構(gòu)建你的第一個包并在NPM上發(fā)布的方法步驟

    這篇文章主要介紹了Vue.js構(gòu)建你的第一個包并在NPM上發(fā)布的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • vue實現(xiàn)一個簡單的Grid拖拽布局

    vue實現(xiàn)一個簡單的Grid拖拽布局

    這篇文章主要為大家詳細(xì)介紹了如何利用vue實現(xiàn)一個簡單的Grid拖拽布局,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Vue響應(yīng)式原理Observer、Dep、Watcher理解

    Vue響應(yīng)式原理Observer、Dep、Watcher理解

    這篇文章主要介紹了Vue響應(yīng)式原理-理解Observer、Dep、Watcher,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Vue組件模板及組件互相引用代碼實例

    Vue組件模板及組件互相引用代碼實例

    這篇文章主要介紹了Vue組件模板及組件互相引用代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • vue中路由router配置步驟詳解

    vue中路由router配置步驟詳解

    vue的主要思想是組件化開發(fā),路由用來配置組件對應(yīng)展示路徑,本文給大家介紹vue中路由router配置步驟,創(chuàng)建路由文件——使用路由——配置路由出口,使路由配置內(nèi)容展示在頁面上,感興趣的朋友跟隨小編一起看看吧
    2023-12-12
  • 基于cropper.js封裝vue實現(xiàn)在線圖片裁剪組件功能

    基于cropper.js封裝vue實現(xiàn)在線圖片裁剪組件功能

    這篇文章主要介紹了基于cropper.js封裝vue實現(xiàn)在線圖片裁剪組件功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-03-03
  • Vue如何給組件添加點擊事件?@click.native

    Vue如何給組件添加點擊事件?@click.native

    這篇文章主要介紹了Vue如何給組件添加點擊事件?@click.native,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評論

乌苏市| 东丰县| 恩施市| 奇台县| 行唐县| 兰考县| 石楼县| 东方市| 哈巴河县| 平江县| 雅江县| 太保市| 华容县| 郯城县| 禹州市| 馆陶县| 永善县| 金乡县| 海盐县| 六安市| 神池县| 拉萨市| 高邑县| 古丈县| 林西县| 平阴县| 永宁县| 武隆县| 新泰市| 梧州市| 三亚市| 平泉县| 河源市| 安吉县| 原阳县| 财经| 尉氏县| 甘泉县| 石城县| 太保市| 罗城|