插件窝 干货文章 vue3怎么获取动态路由参数

vue3怎么获取动态路由参数

路由 参数 strong 动态 474    来源:    2024-10-21
在 vue.js 3 中,可通过 $route.params 对象获取动态路由参数,该对象包含已解析的动态路由段。步骤如下:定义动态路由,使用带有参数占位符的路由定义。在组件的 setup() 函数中,使用 $route.params 访问动态参数。可在组件模板中使用 $route.params,也可使用 typescript 类型注解确保类型安全。

如何在 Vue.js 3 中获取动态路由参数

在 Vue.js 3 中,动态路由参数可以通过$route.params对象获取。它是一个响应对象,包含所有已解析的动态路由段。

步骤:

  1. 定义动态路由:使用带有参数占位符的路由定义,例如:

    立即学习“前端免费学习笔记(深入)”;

    {
      path: '/user/:id',
      component: User
    }
  2. 在组件中获取参数:在组件的setup()函数中,可以使用$route.params对象访问动态参数。

    const id = useRoute().params.id; // 获取动态参数 'id' 的值

    或者,你可以在组件模板中使用$route.params,例如:

    <h1>用户 ID:{{ $route.params.id }}</h1>
  3. 类型化参数:为了确保类型安全,可以在组件的setup()函数中使用TypeScript类型注解:

    const { id } = useRoute().params as { id: string };

示例:

以下示例展示了如何在User组件中获取动态路由参数:

<template><h1>用户 ID:{{ id }}</h1>
</template><script setup>
import { useRoute } from 'vue-router';

const id = useRoute().params.id;
</script>

注意:

  1. 动态参数必须在路由定义中明确指定。
  2. 对于嵌套路由,可以使用$route.params获取当前路由的参数,使用$route.parent.params获取父路由的参数。
  3. 当路由导航发生时,$route.params对象将更新以反映新的动态参数。