Vue Routerを使ってシングルページアプリケーション(SPA)を構築する
Vue Routerを活用することで、シングルページアプリケーション(SPA)におけるページ遷移を効率的に管理できます。本記事では、Vue Routerの基本的な使い方から高度なルーティング戦略までを詳しく説明します。
目次
Vue Routerのインストール
Vue Routerをプロジェクトに追加する方法を示します。
npm install vue-router基本的なルーティング設定
シンプルなルート定義の例です。
import { createRouter, createWebHistory } from 'vue-router';
import Home from './components/Home.vue';
import About from './components/About.vue';
const routes = [
{ path: '/', component: Home },
{ path: '/about', component: About }
];
const router = createRouter({
history: createWebHistory(),
routes
});
export default router;ルーターをVueアプリに登録
ルーターをVueアプリケーションに組み込みます。
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
const app = createApp(App);
app.use(router);
app.mount('#app');ルーターリンクの使用
ページ遷移用のリンクコンポーネントを使用します。
<template>
<nav>
<router-link to="/">ホーム</router-link>
<router-link to="/about">アバウト</router-link>
</nav>
<router-view></router-view>
</template>動的ルートの設定
動的なパラメータを持つルートを設定します。
const routes = [
{ path: '/user/:id', component: User }
];動的パラメータへのアクセス
ルートパラメータを取得する方法です。
<template>
<div>User ID: {{ $route.params.id }}</div>
</template>ネストされたルート
子ルートを定義して階層的に管理します。
const routes = [
{
path: '/user/:id',
component: User,
children: [
{ path: 'profile', component: UserProfile },
{ path: 'posts', component: UserPosts }
]
}
];名前付きルート
名前付きルートを使用して遷移します。
const routes = [
{ path: '/user/:id', name: 'user', component: User }
];プログラムによるルーティング
JavaScriptを使用してページを遷移します。
this.$router.push({ name: 'user', params: { id: 123 } });ガードを使用したルート保護
ナビゲーションガードを使用してルートへのアクセスを制御します。
const routes = [
{
path: '/admin',
component: Admin,
beforeEnter: (to, from, next) => {
if (isAdmin()) {
next();
} else {
next('/');
}
}
}
];404ページの設定
存在しないルートに対するフォールバックページを設定します。
const routes = [
{ path: '/:pathMatch(.*)*', component: NotFound }
];Vue Routerのパフォーマンス最適化
ルーティングのパフォーマンス向上のためのヒントを説明します。
まとめ
Vue Routerを活用することで、SPAにおけるルーティング管理がシンプルかつ強力になります。基本から高度な技術までを習得し、効率的なナビゲーションを構築しましょう。
-
前の記事
RHELでのセキュリティネットワーク設定 – アクセス制御と監視をはじめよう 2025.03.03
-
次の記事
Rocky Linuxでのセキュリティパッチとアップデート管理 2025.03.03
コメントを書く