vue3怎么获取动态路由参数
在 vue.js 3 中,可通过 $route.params 对象获取动态路由参数,该对象包含已解析的动态路由段。步骤如下:定义动态路由,使用带有参数占位符的路由定义。在组件的 setup() 函数中,使用 $route.params 访问动态参数。可在组件模板中使用 $route.params,也可使用 typescript 类型注解确保类型安全。
如何在 Vue.js 3 中获取动态路由参数
在 Vue.js 3 中,动态路由参数可以通过$route.params对象获取。它是一个响应对象,包含所有已解析的动态路由段。
步骤:
定义动态路由:使用带有参数占位符的路由定义,例如:
立即学习“前端免费学习笔记(深入)”;
{ path: '/user/:id', component: User}
在组件中获取参数:在组件的setup()函数中,可以使用$route.params对象访问动态参数。
const id = useRoute().params.id; // 获取动态参数 'id' 的值
或者,你可以在组件模板中使用$route.params,例如:
<h1>用户 ID:{{ $route.params.id }}</h1>
类型化参数:为了确保类型安全,可以在组件的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>
注意:
- 动态参数必须在路由定义中明确指定。
- 对于嵌套路由,可以使用$route.params获取当前路由的参数,使用$route.parent.params获取父路由的参数。
- 当路由导航发生时,$route.params对象将更新以反映新的动态参数。