はじめに
Vue.jsを最近勉強し始めたので学んだ文法などを備忘録としてメモしていこうと思います。
今回はVue Routerを用いてページごとに表示を切り替える方法について記載していきます。
Vue Router
Vue Router
はVue.jsにおいてルーティングを制御するためのライブラリです。
※現在僕の学習環境はVue.js 3のため、Vue Routerのバージョンは4で動作確認をしています。
セッティング
まずはVue Routerをインストールします。
npm install vue-router@4
ルートファイルの設定
上記にてvue-router
をインストール後、router.js
などのファイルを作成し、以下のようにrouterの設定を行います。
インストールしたvue-router
からcreateRouter
, createWebHistory
をimportします。
createRouter
メソッドがルーティング情報を生成し、createWebHistory()
はhistoryモードを指しています。
historyモードに設定することでURLに'#'などが付かなくなります。
(createWebHashHistory()を設定するとURLに'#'が付きます。)
今回はMorningページ
とAfternoonページ
を用意しているのでそれぞれをroutesにセットします。
import Morning from './views/Morning.vue';
import Afternoon from './views/Afternoon.vue';
import { createRouter, createWebHistory } from 'vue-router';
const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', component: Morning },
{ path: '/afternoon', component: Afternoon }
]
});
export default router;
Main.jsでの呼び出し
上記で設定したルーター情報をMain.jsで呼び出します。
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
createApp(App).use(router).mount('#app');
ルート先それぞれのコンポーネント
今回はMorningページ
とAfternoonページ
を使用するので、それらのVueファイルを作成します。
<template>
<div>おはよう</div>
</template>
<template>
<div>こんにちは</div>
</template>
出力結果
npm run serve
コマンドを実行し、結果を見てみます。
URLがlocalhost:8080
のときはMorningページ
が出力されていることが分かります。
URLがlocalhost:8080/afternoon
のときはAfternoonページ
が出力されていることが分かります。
おわりに
今回はVue Routerを利用してURLごとにページを切り替える方法を学びました。
次回はrouter-link
タグを用いて画面からURLを切り替えていく方法についてまとめていこうと思います。