Vue Routerは、Vue.jsアプリケーションでページ間の遷移を管理するためのオフィシャルなルーティングライブラリです。Vue.js 3では、Vue Routerのバージョン4が利用可能です。ここでは、Vue Routerの使い方について詳しく説明します。
インストール
Vue Routerをインストールするには、まずVue CLIを利用して新しいVue.jsプロジェクトを作成します。Vue CLIがインストールされていない場合は、npmを使って以下のようにインストールできます。
npm install -g @vue/cli
Vue CLIがインストールされたら、以下のコマンドを実行して新しいVue.jsプロジェクトを作成します。
vue create my-project
プロジェクトが作成されたら、以下のコマンドを実行してVue Routerをインストールします。
npm install vue-router@4
基本的な使い方
Vue Routerを使うには、ルーターを作成し、Vueアプリケーションにマウントする必要があります。ルーターを作成するには、createRouter()
関数を使用します。
import { createRouter, createWebHistory } from 'vue-router'
const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', component: Home },
{ path: '/about', component: About },
{ path: '/contact', component: Contact }
]
})
上記の例では、createRouter()
関数を使ってルーターを作成しています。createWebHistory()
関数を使って、HTML5のhistoryモードを有効にしています。routes
オプションには、各ルートに対応するコンポーネントを指定します。
ルーターを作成したら、Vueアプリケーションにマウントする必要があります。Vue.js 3では、createApp()
関数を使ってVueアプリケーションを作成します。
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
app.use(router)
app.mount('#app')
上記の例では、createApp()
関数を使ってVueアプリケーションを作成し、use()
メソッドを使ってルーターを追加しています。最後に、mount()
メソッドを使ってVueアプリケーションをマウントしています。
ルート定義
ルート定義は、routes
オプションで指定します。各ルートは、path
プロパティとcomponent
プロパティを持ちます。
const routes = [
{ path: '/', component: Home },
{ path: '/about', component: About },
{ path: '/contact', component: Contact }
]
ルートの表示
ルーターを使って、コンポーネントを表示するには、ルートを定義する必要があります。ルートを定義するには、<router-view>
コンポーネントを使用します。
<template>
<div>
<h1>Vue Router Example</h1>
<router-view></router-view>
</div>
</template>
上記の例では、<router-view>
コンポーネントを使用して、現在のルートに対応するコンポーネントを表示しています。
ルートパラメーター
ルートパラメーターを使用すると、動的なルートを作成できます。たとえば、以下のようなURLを扱うことができます。
/profile/123
123
は、ユーザーのIDを表します。このようなURLを扱うには、ルートパラメーターを使用して、動的なルートを作成します。
const routes = [
{ path: '/profile/:id', component: Profile }
]
上記の例では、:id
はパラメーターであり、Profile
コンポーネントを表示します。Profile
コンポーネントで、$route.params.id
を使って、id
パラメーターの値を取得できます。
プログラムによるナビゲーション
Vue Routerを使って、プログラムによるナビゲーションを行うには、$router
オブジェクトを使用します。
methods: {
goToAboutPage() {
this.$router.push('/about')
}
}
上記の例では、goToAboutPage()
メソッドを使って、$router.push()
メソッドを呼び出して、/about
ページに遷移しています。
終わりに
Vue Routerは、Vue.jsアプリケーションでページ間の遷移を管理するための非常に便利なライブラリです。この記事では、Vue Routerの基本的な使い方を学びました。Vue.js 3では、Vue Routerのバージョン4が利用可能であり、Composition APIを使ったルーターの実装もサポートされています。これらの機能を使って、より高度なVue.jsアプリケーションを作成できます。