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