Skip to content
This repository was archived by the owner on May 1, 2025. It is now read-only.

Commit 38512d9

Browse files
committed
feat: content/2.concepts/3.routing
1 parent d919ed8 commit 38512d9

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

content/2.concepts/3.routing/index.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,38 @@
22
ogImage: true
33
---
44

5-
# Routing
5+
# ルーティング
66

7-
[Back to index](/)
7+
## ファイルシステムルーター
8+
9+
Nuxtの主要機能の一つはファイルシステムルーターです。`pages/` ディレクトリ内の各 Vue ファイルが、それに対応する URL(またはルート)を作成し、そのファイルの内容を表示します。\
10+
この例では、`pages/index.vue``/` に、`pages/foo.vue``/foo` に対応しています。\
11+
このルーティングは [vue-router](https://router.vuejs.org/) をベースに実装されています。
12+
13+
また、Nuxt は各ページに対して動的インポートを使用することでコード分割を活用し、リクエストされたルートに対して最小限の JavaScript を配信します。
14+
15+
## ナビゲーション
16+
17+
`pages/` にルートを作成したら、`<NuxtLink>` コンポーネントまたは `navigateTo` 関数を使ってナビゲーションを行うことができます。
18+
19+
`<NuxtLink>` コンポーネントでは `to` という props にルートを指定することでリンクを作成することができます。\
20+
`<NuxtLink>` コンポーネントは自動的に最適化されるため、通常の `<a>` 要素と、`href` 属性を利用したリンクの作成と比べ、高速にナビゲーションを行うことができます。
21+
22+
## ルートパラメーター
23+
24+
`/pages` ディレクトリでは、ファイル名の一部を `[]` で囲うことで動的なルーティングを定義することができます。(例: `pages/posts/[id].vue`)
25+
26+
この `[]` で囲われたルートパラメータは `useRoute()` を通じてアクセスすることができます。
27+
28+
```vue
29+
<!-- pages/posts/[id].vue -->
30+
<script setup lang="ts">
31+
const route = useRoute()
32+
33+
// /posts/1 にアクセスした際、route.params.id は 1 になる
34+
console.log(route.params.id)
35+
</script>
36+
```
37+
38+
ここで登場した、`useRoute` 関数や `<NuxtLink>` コンポーネントは Nuxt のコアコンセプトの一つである Auto Imports によって自動的に import されるため、import 文を記載することなく利用することができます。\
39+
Auto Import について次のセクションでより詳しく学びましょう。

0 commit comments

Comments
 (0)