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 を使用すると、クライアントにはフラグメントが含まれるがサーバーには含まれないため、ハイドレーションの問題を引き起こす可能性があります。
※このページは Nuxt.js 公式ドキュメントの翻訳ページです。
公式ドキュメントの該当ページはこちら:
https://nuxt.com/docs/3.x/api/composables/use-route