useRoute
El composable useRoute devuelve la ruta actual.
Dentro de la plantilla de un componente Vue, puedes acceder a la ruta usando $route
.
Ejemplo
En el siguiente ejemplo, llamamos a una API a través de useFetch
usando un parámetro de página dinámico - slug
- como parte de la URL.
<script setup lang="ts">
const route = useRoute()
const { data: mountain } = await useFetch(`/api/mountains/${route.params.slug}`)
</script>
<template>
<div>
<h1>{{ mountain.title }}</h1>
<p>{{ mountain.description }}</p>
</div>
</template>
Si necesitas acceder a los parámetros de consulta de la ruta (por ejemplo, example
en la ruta /test?example=true
), entonces puedes usar useRoute().query
en lugar de useRoute().params
.
API
Además de los parámetros dinámicos y los parámetros de consulta, useRoute()
también proporciona las siguientes referencias computadas relacionadas con la ruta actual:
fullPath
: URL codificada asociada con la ruta actual que contiene path, query y hashhash
: sección de hash decodificada de la URL que comienza con un #query
: acceso a los parámetros de consulta de la rutamatched
: array de rutas coincidentes normalizadas con la ubicación de la ruta actualmeta
: datos personalizados adjuntos al registroname
: nombre único para el registro de la rutapath
: sección de pathname codificada de la URLredirectedFrom
: ubicación de la ruta que se intentó acceder antes de terminar en la ubicación de la ruta actual
Los navegadores no envían fragmentos de URL (por ejemplo, #foo
) al hacer solicitudes. Por lo tanto, usar route.fullPath
en tu plantilla puede desencadenar problemas de hidratación porque esto incluirá el fragmento en el cliente pero no en el servidor.
※Esta página es una traducción no oficial de la documentación oficial de Nuxt.js.
La página correspondiente en la documentación oficial está aquí:
https://nuxt.com/docs/3.x/api/composables/use-route