【Vue.js】ルーティング Part1

今回はページを変えるためのルーティングについて。
Vue.jsのプラグインである【Vue Router】を使用して行いたいと思います。

今回もCDNで行いますので、まずheadに以下を追加します。(基本のVue.jsのCDNはすでにある前提です。)

<script src="https://unpkg.com/vue-router@2.7.0/dist/vue-router.min.js"></script>
  1. Vue Routerでのリンク定義は【router-link】を使用します。
  2. 切り替えたページの内容は【router-view】で囲まれた範囲に表示されます。

 

HTML


<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <title>ページャーテスト</title>
    <style>
      [v-cloak] {
        display: none /* テンプレートの{{}}を非表示にする */
      }
    </style>
  </head>
  <body>
    <div id="app">
      <nav v-cloak>
        <router-link to="/top">トップ</router-link>
        <router-link to="/page2">2ページ目</router-link>
        <router-link to="/page3">3ページ目</router-link>
      </nav>
      <router-view></router-view>
    </div>
    <script src="https://unpkg.com/vue@2.4.2/dist/vue.min.js"></script>
    <script src="https://unpkg.com/vue-router@2.7.0/dist/vue-router.min.js"></script>
  </body>
</html>

 

JavaScript

    var router = new VueRouter({
      routes: [
        {
          path: '/top',
          component: {
            template: '<div>トップページです。</div>'
          }
        },
        {
          path: '/page2',
          component: {
            template: '<div>2ページ目です。</div>'
          }
        },
        {
          path: '/page3',
          component: {
            template: '<div>3ページ目です。</div>'
          }
        },
        {
          // 定義されていないパスへの対応。トップページへリダイレクトする。
          path: '*',
          redirect: '/top'
        }
      ]
    })
    var app = new Vue({
      router: router
    }).$mount('#app')

 

結果

以下のリンク先でサンプルを作成しております。

同じindexでページリンクができているかと思います。

サンプルページ

 

投稿者 PASOMEN

関連投稿

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です