【VueRouter】基本的な使い方

URLとコンポーネントを紐付けルーティングする。

インストール

% yarn add vue-router

ルーターを設定

// router.js
// vue-routerをインポート
import Vue from 'vue'
import Router from 'vue-router' // 'Router'として使う
 // ルートコンポーネントをすべてインポート
import Home from '...' 
import Users from '...'
 
// プラグインを使う宣言
Vue.use(Router)
 
// Routerをエクスポート
export default new Router({ 
    mode: "history", // URLの最後にデフォルトでついてる#を外す
    routes: [
       {path: '/', component: Home},    // パスとコンポーネントを指定する
       {path: '/users/:id', component: Users}    // 動的なurlを扱いたいときは:を使う
    ]
});

RouterをVueに適用させる

import router from './router.js';
 
new Vue ({
    router: router,
    render: h=>h(App)
}).$mount('#App');

App.vueにrouter-viewを配置

<!-- App.vue -->
<template>
    <div>
        <router-view></router-view>
        <!-- URLによってrouter-viewの内容が動的コンポーネントのように変わる -->
    </div>
</template>

ページを切り替えるリンクをつくる

router-link

router-linkがページ遷移するためのリンクになる。toでパスを遷移先のパスを指定する。

<template>
    <nav>
        <router-link to="/">Home</router-link>
        <router-link to="/users">Users</router-link>
コードからURLを切り替える

this.$router.push('遷移先のリンク')でURLを切り替える。

<template>
    <button @click="toUsers" >
 
methods: {
    toUsers() {
        this.$router.push('/users');
    }
}