Navigation

Vue.jsで動的ルーティングを実装する方法

📅 7月 9, 2025
👤
1 min read

概要

Vue.jsで動的ルーティングを実装する方法について解説します。動的ルーティングは、ルーティング情報を動的に生成してページを描画する機能であり、動的なコンテンツを柔軟に表示することが可能です。この機能は、コンテンツが多様であり、URLパラメータに基づいてページを表示する必要がある場合に特に有用です。

なぜこの技術/機能が必要なのか

動的ルーティングを実装することで、特定のパラメータに基づいて異なるコンテンツを表示することができます。これにより、ユーザーエクスペリエンスを向上させることが可能です。

解決する問題やユースケース

動的ルーティングを活用することで、商品ページやユーザープロフィールなど、多岐にわたるコンテンツを効率的に管理・表示することができます。

前提知識と環境要件

  • Vue.jsの基本知識
  • Vue Routerの基本的な使い方

基本実装


<template>
  <div>
    <!-- 動的ルーティングで表示するコンテンツ -->
  </div>
</template>

<script setup lang="ts">
import { ref, onMounted } from 'vue'

const data = ref()

onMounted(() => {
  /* ライフサイクルフック */
})
</script>

<style scoped>
/* コンポーネント固有のスタイル */
</style>

Composition API活用


import { ref, computed } from 'vue'

export function useExample() {
  const state = ref()
  
  const computedValue = computed(() => {
    /* 算出プロパティ */
  })
  
  return {
    state,
    computedValue
  }
}

テンプレート構文


<template>
  <div v-if="condition">
    <component :is="dynamicComponent" />
  </div>
</template>

状態管理


import { defineStore } from 'pinia'

export const useExampleStore = defineStore('example', () => {
  // ストアの実装
})

実践例

動的ルーティングを使用して、カテゴリーページから商品詳細ページに遷移するサンプルを作成します。


<!-- カテゴリーページ -->
<router-link :to="{ name: 'product', params: { id: 123 }}">商品A</router-link>

<!-- 商品詳細ページ -->
<template>
  <div>
    商品ID: {{ $route.params.id }} の詳細
  </div>
</template>

関連技術・参考情報

  • Vue Routerのドキュメント: https://router.vuejs.org/
  • Nuxt.jsでの動的ルーティングの活用方法
  • Vue.js公式ドキュメントの動的ルーティングセクション

この記事では、Vue.jsを使用して動的ルーティングを実装する方法を紹介しました。動的ルーティングを活用することで、柔軟なコンテンツ表示が可能となります。是非、実際のプロジェクトで活用してみてください。

← Back to vue