useRoute
O composable useRoute retorna a rota atual.
Dentro do template de um componente Vue, você pode acessar a rota usando $route
.
Exemplo
No exemplo a seguir, chamamos uma API via useFetch
usando um parâmetro de página dinâmico - slug
- como parte da 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>
Se você precisar acessar os parâmetros de consulta da rota (por exemplo, example
no caminho /test?example=true
), então você pode usar useRoute().query
em vez de useRoute().params
.
API
Além dos parâmetros dinâmicos e parâmetros de consulta, useRoute()
também fornece as seguintes referências computadas relacionadas à rota atual:
fullPath
: URL codificada associada à rota atual que contém caminho, consulta e hashhash
: seção de hash decodificada da URL que começa com #query
: acessa os parâmetros de consulta da rotamatched
: array de rotas correspondentes normalizadas com a localização da rota atualmeta
: dados personalizados anexados ao registroname
: nome único para o registro da rotapath
: seção de caminho codificada da URLredirectedFrom
: localização da rota que foi tentada acessar antes de terminar na localização da rota atual
Os navegadores não enviam fragmentos de URL (por exemplo, #foo
) ao fazer solicitações. Portanto, usar route.fullPath
no seu template pode desencadear problemas de hidratação porque isso incluirá o fragmento no cliente, mas não no servidor.
※Esta página é uma tradução não oficial da documentação oficial do Nuxt.js.
A página correspondente na documentação oficial está aqui:
https://nuxt.com/docs/3.x/api/composables/use-route