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

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

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

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

1. 通過 this.$route 獲取(Options API)

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

export default {
  mounted() {
    // 獲取動態(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. 通過 useRoute 獲?。–omposition API)

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

import { useRoute } from 'vue-router';

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

    // 獲取動態(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)聽參數(shù)變化

如果路由參數(shù)可能會發(fā)生變化(例如用戶導(dǎo)航到同一個(gè)路由但參數(shù)不同),你需要監(jiān)聽參數(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)聽路由參數(shù)變化
    watch(
      () => route.params.id,
      (newId) => {
        id.value = newId;
        console.log('Updated Route Param:', newId);
      }
    );

    return { id };
  }
};

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

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

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

5. 完整示例

以下是一個(gè)完整的示例,展示如何在組件中獲取和監(jiān)聽路由參數(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)聽路由參數(shù)變化
    watch(
      () => route.params.id,
      (newId) => {
        id.value = newId;
      }
    );

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

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

注意事項(xiàng)

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

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

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

總結(jié)

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

相關(guān)文章

最新評論

太康县| 稷山县| 遂溪县| 姜堰市| 娄底市| 黄大仙区| 景洪市| 岑溪市| 新化县| 揭东县| 苍山县| 大同市| 石台县| 云浮市| 温泉县| 弥渡县| 许昌县| 五寨县| 和林格尔县| 西昌市| 措勤县| 佛山市| 阳谷县| 门源| 天柱县| 萝北县| 辽阳市| 错那县| 大名县| 容城县| 营山县| 疏勒县| 宜君县| 屯门区| 新和县| 白山市| 宣化县| 固安县| 河北省| 徐州市| 久治县|