LoginSignup
0
0

More than 3 years have passed since last update.

VueRouter使い方

Last updated at Posted at 2020-04-05

VueRouterのインストールから初期セットアップ

vue-routerをインストール

npm install vue-router

vue-routerを利用する各ファイル

main.js
import Vue from 'vue'
import App from './App.vue'
import vuetify from './plugins/vuetify';

//router.jsファイル
import router from './router'

Vue.config.productionTip = false

new Vue({
  router,
  vuetify,
  render: h => h(App)
}).$mount('#app')
router.js

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

export default new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: [
    {
      path: '/',
      name: 'Index',
      component: () => import('./components/Index.vue')
    },
    {
      path: '/form',
      name: 'Form',
      component: () => import('./components/Form.vue')
    },
  ]
})
App.vue
<template>
  <div id="app">  
    <v-app>
      <Header/>
      //Routerを利用
      <router-view/>
      <Footer />
    </v-app>
  </div>
</template>

router使用例

example.vue
<router-link to="/foo">Go to Foo</router-link>

//Vuetifyのv-btnとの組み合わせ
<router-link tag="v-btn" to="/edituser">登録情報を変更</router-link>

//Vuetifyのv-btnとパラメータをセット
<router-link tag="v-btn" :to="{ name: 'ToPage', params: { id: this.$route.query.fooid }}"


//画面表示時にStore(Vuex)からログイン状態を取得ログインしていない場合にログインページへ遷移
created(){
      const loginStatus = this.$store.getters['loginStatus'];
      if (loginStatus == false && this.$router.currentRoute.path != "/login") {
        this.$router.push({name : "PageLogin"});
        return;
      }

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0