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

Vue路由組件傳遞參數(shù)的六種場(chǎng)景

 更新時(shí)間:2023年09月08日 09:01:42   作者:牛哥說(shuō)我不優(yōu)雅  
在Vue應(yīng)用程序中,路由組件是構(gòu)建單頁(yè)應(yīng)用的關(guān)鍵部分,傳遞參數(shù)給路由組件可以讓我們動(dòng)態(tài)地展示內(nèi)容,處理用戶輸入,以及實(shí)現(xiàn)各種交互功能,本文就給大家介紹了六種Vue路由組件傳遞參數(shù)場(chǎng)景,需要的朋友可以參考下

一、引言

在Vue應(yīng)用程序中,路由組件是構(gòu)建單頁(yè)應(yīng)用的關(guān)鍵部分。傳遞參數(shù)給路由組件可以讓我們動(dòng)態(tài)地展示內(nèi)容,處理用戶輸入,以及實(shí)現(xiàn)各種交互功能。

二、路由參數(shù)

路由參數(shù)(Route Params):可以通過(guò)在路由路徑中定義動(dòng)態(tài)參數(shù)來(lái)傳遞數(shù)據(jù)。在路由配置中使用:來(lái)定義參數(shù),然后在組件中通過(guò)this.$route.params來(lái)獲取參數(shù)的值。

// 路由配置
{
  path: '/user/:id',
  component: UserComponent
}
// 組件中獲取參數(shù)
this.$route.params.id

三、查詢參數(shù)

查詢參數(shù)(Query Params):可以通過(guò)在URL中使用查詢字符串的方式來(lái)傳遞參數(shù)。在組件中可以通過(guò)this.$route.query來(lái)獲取查詢參數(shù)的值。

// 路由配置
{
  path: '/user',
  component: UserComponent
}
// URL:/user?id=123
// 組件中獲取參數(shù)
this.$route.query.id

params和query傳參的區(qū)別

  • query在刷新頁(yè)面的時(shí)候參數(shù)不會(huì)消失,params刷新頁(yè)面的時(shí)候參數(shù)會(huì)消失。
  • 使用name+query或者path+query傳遞路徑參數(shù),使用name+params傳遞路徑參數(shù)。
  • query參數(shù)顯示在url地址欄當(dāng)中,參數(shù)以鍵值對(duì)的形式追加在URL后,用?和&拼接參數(shù),而params傳參不會(huì)顯示在地址欄。
  • query傳參適合傳遞可選的參數(shù),常用于根據(jù)用戶的選擇或配置進(jìn)行篩選、排序等操作。params傳參適合傳遞必要的、對(duì)應(yīng)特定資源的參數(shù),常用于標(biāo)識(shí)性的參數(shù)傳遞。

四、路由元信息

路由元信息(Route Meta):可以在路由配置中定義元信息來(lái)傳遞參數(shù)。在路由配置中使用meta字段來(lái)定義元信息,然后在組件中通過(guò)this.$route.meta來(lái)獲取元信息的值。

// 路由配置
{
  path: '/user',
  component: UserComponent,
  meta: {
    isAdmin: true
  }
}
// 組件中獲取元信息
this.$route.meta.isAdmin

五、Props傳參

Props傳參:可以通過(guò)在路由配置中使用props字段來(lái)傳遞參數(shù)??梢詫?code>props設(shè)置為true,這樣路由組件會(huì)自動(dòng)將路由參數(shù)映射為組件的屬性。也可以將props設(shè)置為一個(gè)函數(shù),來(lái)自定義參數(shù)的映射方式。

// 路由配置
const routes = [
  {
    path: '/user/:id',
    component: User,
    props: true
    //props: { id: '123' }
    //props: (route) => ({ id: route.params.id })
  }
]
// 路由組件
const User = {
  props: ['id'],
  template: '<div>User ID: {{ id }}</div>'
}

六、編程式導(dǎo)航傳參

可以使用router.pushrouter.replace方法進(jìn)行編程式導(dǎo)航,并通過(guò)paramsquery字段傳遞參數(shù)。

router.push方法用于導(dǎo)航到一個(gè)新的路由,并將其添加到瀏覽器的歷史記錄中??梢酝ㄟ^(guò)第二個(gè)參數(shù)傳遞參數(shù)。

// 路由參數(shù)
router.push({path: '/user/123'})
// 獲取參數(shù)
console.log(this.$route.params.id);
// 查詢參數(shù)
router.push({path: '/user', query: { id: 123 } })
// 獲取參數(shù)
console.log(this.$route.query.id);

當(dāng)使用router.push方法進(jìn)行路由跳轉(zhuǎn)時(shí),如果傳遞的路徑中包含動(dòng)態(tài)參數(shù)(例如/user/:id),則參數(shù)會(huì)被解析為路由的params屬性。

router.replace方法也用于導(dǎo)航到一個(gè)新的路由,但是不會(huì)將新的路由添加到瀏覽器的歷史記錄中,而是替換當(dāng)前的路由。同樣可以通過(guò)第二個(gè)參數(shù)傳遞參數(shù)。

router.replace({ path: '/user/123', params: { id: 123 } });
// 獲取參數(shù)
this.$route.params.id

在上述示例中,使用path屬性指定了目標(biāo)路徑為/user/123,并使用params屬性傳遞了參數(shù),其中id參數(shù)的值為123。

七、聲明式導(dǎo)航傳參

在Vue Router中,可以使用router-link組件進(jìn)行聲明式導(dǎo)航,并通過(guò)to屬性傳遞參數(shù)。例如,要傳遞參數(shù)到目標(biāo)路徑/user/123,可以使用以下方式。

<router-link :to="{ path: '/user/' + id }">User</router-link>
<router-link :to="{path:'/user', query:{id:123}}">User</router-link>

第一個(gè)router-link組件的to屬性使用了動(dòng)態(tài)的路徑參數(shù),這意味著在渲染時(shí),id是一個(gè)變量,它的值將會(huì)動(dòng)態(tài)地替換到路徑中。例如,如果id的值是123,那么生成的鏈接將是/user/123。這種方式使用了params參數(shù)來(lái)傳遞參數(shù)給目標(biāo)路由組件。

第二個(gè)router-link組件的to屬性使用了查詢參數(shù),這意味著在生成的鏈接中,會(huì)在URL后面添加查詢字符串,例如/user?id=123。這種方式使用了query參數(shù)來(lái)傳遞參數(shù)給目標(biāo)路由組件。

export default {
  created() {
    // 獲取傳遞的參數(shù)
    const userId = this.$route.params.id;
    console.log(userId); // 123
    // const userId = this.$route.query.id;
    // console.log(userId); // 123
  }
};

我們用this.$route.params.idthis.$route.params.id獲取到傳遞的參數(shù)id的值,即123。

八、最后的話

能力一般,水平有限,本文可能存在紕漏或錯(cuò)誤,如有問(wèn)題歡迎指正,感謝你閱讀這篇文章,如果你覺(jué)得寫得還行的話,不要忘記點(diǎn)贊、評(píng)論、收藏哦!祝生活愉快!

以上就是Vue路由組件傳遞參數(shù)的六種場(chǎng)景的詳細(xì)內(nèi)容,更多關(guān)于Vue路由組件傳遞參數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue 授權(quán)獲取微信openId操作

    vue 授權(quán)獲取微信openId操作

    這篇文章主要介紹了vue 授權(quán)獲取微信openId操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • vue指令做滾動(dòng)加載和監(jiān)聽(tīng)等

    vue指令做滾動(dòng)加載和監(jiān)聽(tīng)等

    這篇文章主要介紹了vue指令做滾動(dòng)加載和監(jiān)聽(tīng)等,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Vue簡(jiǎn)介、引入、命令式與聲明式編程詳解

    Vue簡(jiǎn)介、引入、命令式與聲明式編程詳解

    原生開(kāi)發(fā)和Vue開(kāi)發(fā)的模式和特點(diǎn),我們會(huì)發(fā)現(xiàn)是完全不同的,這里其實(shí)涉及到兩種不同的編程范式:命令式編程和聲明式編程,下面這篇文章主要給大家介紹了關(guān)于Vue簡(jiǎn)介、引入、命令式與聲明式編程的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • vue項(xiàng)目打包后,由于html被緩存導(dǎo)致出現(xiàn)白屏的處理方案

    vue項(xiàng)目打包后,由于html被緩存導(dǎo)致出現(xiàn)白屏的處理方案

    這篇文章主要介紹了vue項(xiàng)目打包后,由于html被緩存導(dǎo)致出現(xiàn)白屏的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 示例詳解Vue中控制組件的掛載位置

    示例詳解Vue中控制組件的掛載位置

    在 Vue 中,append-to-body=“true” 主要用于一些第三方組件(如 Element UI 或 Ant Design Vue 中的彈出框、下拉菜單等)來(lái)控制組件的掛載位置,本文介紹Vue中控制組件的掛載位置,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • 詳解vue+axios給開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境配置不同的接口地址

    詳解vue+axios給開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境配置不同的接口地址

    這篇文章主要介紹了詳解vue+axios給開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境配置不同的接口地址,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • vue中使用loadsh的debounce防抖函數(shù)問(wèn)題

    vue中使用loadsh的debounce防抖函數(shù)問(wèn)題

    這篇文章主要介紹了vue中使用loadsh的debounce防抖函數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue?首頁(yè)加載,速度優(yōu)化及解決首頁(yè)白屏的問(wèn)題

    vue?首頁(yè)加載,速度優(yōu)化及解決首頁(yè)白屏的問(wèn)題

    這篇文章主要介紹了vue?首頁(yè)加載,速度優(yōu)化及解決首頁(yè)白屏的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-10-10
  • Vue滾動(dòng)到指定位置的多種方式示例詳解

    Vue滾動(dòng)到指定位置的多種方式示例詳解

    當(dāng)容器有滾動(dòng)條時(shí),有時(shí)需要將指定的內(nèi)容自動(dòng)滾動(dòng)到可視區(qū)域,怎么實(shí)現(xiàn)呢,下面小編給大家?guī)?lái)了多種方法實(shí)現(xiàn)Vue滾動(dòng)到指定位置,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • 解讀計(jì)算屬性和watch監(jiān)聽(tīng)的區(qū)別及說(shuō)明

    解讀計(jì)算屬性和watch監(jiān)聽(tīng)的區(qū)別及說(shuō)明

    計(jì)算屬性是基于它們的依賴進(jìn)行緩存的,只有在它的相關(guān)依賴發(fā)生改變時(shí)才會(huì)重新求值,而watch則是一個(gè)更為通用的監(jiān)聽(tīng)器,它可以在數(shù)據(jù)變化時(shí)執(zhí)行異步操作或開(kāi)銷較大的操作
    2025-01-01

最新評(píng)論

维西| 松溪县| 临桂县| 红桥区| 灌南县| 日土县| 尼勒克县| 永年县| 麟游县| 玛多县| 勃利县| 即墨市| 鹤壁市| 全南县| 富平县| 临漳县| 崇义县| 红河县| 南陵县| 晋宁县| 新平| 综艺| 阿坝县| 九龙县| 琼结县| 合川市| 塘沽区| 普兰县| 苗栗市| 九台市| 杭锦后旗| 渝中区| 读书| 寿宁县| 双江| 延长县| 吉隆县| 石首市| 天门市| 章丘市| 和硕县|