useRoute
useRoute 컴포저블은 현재 경로를 반환합니다.
Vue 컴포넌트의 템플릿 내에서 $route를 사용하여 경로에 접근할 수 있습니다.
예제
다음 예제에서는 동적 페이지 매개변수 - slug - 를 URL의 일부로 사용하여 useFetch를 통해 API를 호출합니다.
~/pages/[slug\
<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>
경로 쿼리 매개변수(예: /test?example=true 경로의 example)에 접근해야 하는 경우, useRoute().params 대신 useRoute().query를 사용할 수 있습니다.
API
동적 매개변수와 쿼리 매개변수 외에도, useRoute()는 현재 경로와 관련된 다음의 계산된 참조를 제공합니다:
fullPath: 경로, 쿼리 및 해시를 포함하는 현재 경로와 관련된 인코딩된 URLhash: #으로 시작하는 URL의 디코딩된 해시 섹션query: 경로 쿼리 매개변수에 접근matched: 현재 경로 위치와 일치하는 정규화된 경로 배열meta: 레코드에 첨부된 사용자 정의 데이터name: 경로 레코드의 고유한 이름path: URL의 인코딩된 경로명 섹션redirectedFrom: 현재 경로 위치에 도달하기 전에 접근하려고 했던 경로 위치
브라우저는 요청을 보낼 때 URL 프래그먼트 (예: #foo)를 전송하지 않습니다. 따라서 템플릿에서 route.fullPath를 사용하면 클라이언트에서는 프래그먼트를 포함하지만 서버에서는 포함하지 않기 때문에 hydration 문제가 발생할 수 있습니다.
※이 페이지는 Nuxt.js 공식 문서의 비공식 번역 페이지입니다.
공식 문서의 해당 페이지는 여기 있습니다:
https://nuxt.com/docs/3.x/api/composables/use-route