欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue3在路由里取參數(shù)幾種常見(jiàn)的方法

 更新時(shí)間:2025年06月05日 10:49:50   作者:用心去追夢(mèng)  
這篇文章主要給大家介紹了關(guān)于vue3在路由里取參數(shù)幾種常見(jiàn)的方法,可使用$route(OptionsAPI)、useRoute(CompositionAPI)及watch監(jiān)聽(tīng),動(dòng)態(tài)參數(shù)通過(guò)params獲取,查詢參數(shù)用query提取,需要的朋友可以參考下

在 Vue 3 中,使用 Vue Router 獲取路由參數(shù)有多種方式。以下是幾種常見(jiàn)的方法:

1. 通過(guò) this.$route 獲?。∣ptions API)

如果你使用的是 Options API,可以通過(guò) this.$route 訪問(wèn)路由對(duì)象,并從中提取參數(shù)。

export default {
  mounted() {
    // 獲取動(dòng)態(tài)路由參數(shù)
    const id = this.$route.params.id;
    console.log('Route Param:', id);

    // 獲取查詢參數(shù)
    const queryParam = this.$route.query.someQueryParam;
    console.log('Query Param:', queryParam);
  }
};

2. 通過(guò) useRoute 獲取(Composition API)

在 Composition API 中,可以使用 useRoute 鉤子來(lái)獲取路由信息。

import { useRoute } from 'vue-router';

export default {
  setup() {
    const route = useRoute();

    // 獲取動(dòng)態(tài)路由參數(shù)
    const id = route.params.id;
    console.log('Route Param:', id);

    // 獲取查詢參數(shù)
    const queryParam = route.query.someQueryParam;
    console.log('Query Param:', queryParam);

    return { id, queryParam };
  }
};

3. 監(jiān)聽(tīng)參數(shù)變化

如果路由參數(shù)可能會(huì)發(fā)生變化(例如用戶導(dǎo)航到同一個(gè)路由但參數(shù)不同),你需要監(jiān)聽(tīng)參數(shù)的變化。

使用 watch

import { useRoute, watch } from 'vue-router';
import { ref } from 'vue';

export default {
  setup() {
    const route = useRoute();
    const id = ref(route.params.id);

    // 監(jiān)聽(tīng)路由參數(shù)變化
    watch(
      () => route.params.id,
      (newId) => {
        id.value = newId;
        console.log('Updated Route Param:', newId);
      }
    );

    return { id };
  }
};

4. 動(dòng)態(tài)路由參數(shù)示例

假設(shè)你的路由配置如下:

const routes = [
  {
    path: '/user/:id',
    component: UserComponent
  }
];
  • 動(dòng)態(tài)參數(shù) id 可以通過(guò) route.params.id 獲取。
  • 查詢參數(shù)(如 /user/123?name=John)可以通過(guò) route.query.name 獲取。

5. 完整示例

以下是一個(gè)完整的示例,展示如何在組件中獲取和監(jiān)聽(tīng)路由參數(shù):

<template>
  <div>
    <p>User ID: {{ id }}</p>
    <p>Query Param: {{ queryParam }}</p>
  </div>
</template>

<script>
import { useRoute, watch } from 'vue-router';
import { ref } from 'vue';

export default {
  setup() {
    const route = useRoute();
    const id = ref(route.params.id);
    const queryParam = ref(route.query.name);

    // 監(jiān)聽(tīng)路由參數(shù)變化
    watch(
      () => route.params.id,
      (newId) => {
        id.value = newId;
      }
    );

    // 監(jiān)聽(tīng)查詢參數(shù)變化
    watch(
      () => route.query.name,
      (newName) => {
        queryParam.value = newName;
      }
    );

    return { id, queryParam };
  }
};
</script>

注意事項(xiàng)

  • 動(dòng)態(tài)路由參數(shù) vs 查詢參數(shù)

    • 動(dòng)態(tài)路由參數(shù):定義在路徑中的參數(shù)(如 /user/:id)。
    • 查詢參數(shù):URL 中的查詢字符串(如 /user?id=123&name=John)。
  • 參數(shù)變化時(shí)重新加載數(shù)據(jù)
    如果路由參數(shù)發(fā)生變化,但組件沒(méi)有重新加載(因?yàn)閺?fù)用了相同的組件實(shí)例),需要手動(dòng)監(jiān)聽(tīng)參數(shù)變化并更新數(shù)據(jù)。

希望這些內(nèi)容能幫助你順利在 Vue 3 中獲取路由參數(shù)!

總結(jié)

到此這篇關(guān)于vue3在路由里取參數(shù)幾種常見(jiàn)的方法的文章就介紹到這了,更多相關(guān)vue3路由取參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中的.sync修飾符用法及原理分析

    vue中的.sync修飾符用法及原理分析

    這篇文章主要介紹了vue中的.sync修飾符用法及原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue vuex vue-rouert后臺(tái)項(xiàng)目——權(quán)限路由(適合初學(xué))

    vue vuex vue-rouert后臺(tái)項(xiàng)目——權(quán)限路由(適合初學(xué))

    這篇文章主要介紹了vue vuex vue-rouert后臺(tái)項(xiàng)目——權(quán)限路由,通過(guò)本文可以很清除的捋清楚vue+vuex+vue-router的關(guān)系,本版本非常簡(jiǎn)單,適合初學(xué)者,需要的朋友可以參考下
    2017-12-12
  • Vue + Element UI圖片上傳控件使用詳解

    Vue + Element UI圖片上傳控件使用詳解

    這篇文章主要為大家詳細(xì)介紹了Vue + Element UI圖片上傳控件的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 淺談Vue render函數(shù)在ElementUi中的應(yīng)用

    淺談Vue render函數(shù)在ElementUi中的應(yīng)用

    今天小編就為大家分享一篇淺談Vue render函數(shù)在ElementUi中的應(yīng)用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue spa應(yīng)用中的路由緩存問(wèn)題與解決方案

    vue spa應(yīng)用中的路由緩存問(wèn)題與解決方案

    這篇文章主要介紹了vue spa應(yīng)用中的路由緩存問(wèn)題與解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 對(duì)Vue.js之事件的綁定(v-on: 或者 @ )詳解

    對(duì)Vue.js之事件的綁定(v-on: 或者 @ )詳解

    今天小編就為大家分享一篇對(duì)Vue.js之事件的綁定(v-on: 或者 @ )詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • Vue3封裝 Message消息提示實(shí)例函數(shù)詳解

    Vue3封裝 Message消息提示實(shí)例函數(shù)詳解

    這篇文章主要介紹了Vue3封裝 Message消息提示實(shí)例函數(shù),具有一定的實(shí)用價(jià)值,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • vue3.0翻牌數(shù)字組件使用方法詳解

    vue3.0翻牌數(shù)字組件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue3.0翻牌數(shù)字組件使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue的百度地圖插件嘗試使用

    Vue的百度地圖插件嘗試使用

    本篇文章主要介紹了Vue的百度地圖插件嘗試使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • Vue實(shí)現(xiàn)圖書(shū)管理案例

    Vue實(shí)現(xiàn)圖書(shū)管理案例

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)圖書(shū)管理案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01

最新評(píng)論