VUE學習筆記(六) vue-router

Vue Router

Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,讓構建單頁面應用變得易如反掌。包含的功能有:

  • 嵌套的路由/視圖表
  • 模塊化的、基於組件的路由配置
  • 路由參數、查詢、通配符
  • 基於 Vue.js 過渡系統的視圖過渡效果
  • 細粒度的導航控制
  • 帶有自動激活的 CSS class 的鏈接
  • HTML5 歷史模式或 hash 模式,在 IE9 中自動降級
  • 自定義的滾動條行爲

官方文檔:https://router.vuejs.org/zh/

 

一 安裝

npm install vue-router

二 引用

main.js中添加, 引入vue-router

import VueRouter from 'vue-router'
Vue.use(VueRouter)

三 創建頁面

在page下創建fruits目錄, 添加兩個頁面

apple.vue

<template>
  <div>APPLE</div>
</template>

<script>
export default {}
</script>

orange.vue

<template>
  <div>ORANGE</div>
</template>

<script>
export default {}
</script>

四 關聯

在main.js中添加

//引入組件
import apple from './page/fruits/apple.vue'
import orange from './page/fruits/orange.vue'
//創建一個VueRouter實例
const router = new VueRouter({
  mode:'history',
  routes:[
    {path:'/apple',component:apple},
    {path:'/orange',component:orange}
  ]
})

這樣就把router和頁面關聯起來了.測試一下

五 優化

把路由部分提取出來, 保持main.js的簡潔

在scr下創建router文件夾, 創建文件index.js

把main.js的相關代碼提取到這裏,

注意添加 export default router

import Vue from 'vue'
import Router from 'vue-router'
import home from '@/page/home'

Vue.use(Router)

//引入組件
import apple from '@/page/fruits/apple.vue'
import orange from '@/page/fruits/orange.vue'
//創建一個VueRouter實例
const router = new Router({
  mode:'history',
  base: '__dirname',
  routes:[
    {path:'/apple',component:apple},
    {path:'/orange',component:orange}
  ]
})

export default router;

main.js 添加引用 ./router 即可

import router from './router'

六 導航

在page目錄下添加 menu.vue, 添加導航菜單

<template>
    <div>
          <router-link :to ="{name:'apple'}">
           apple
          </router-link>
    <p/>
          <router-link :to ="{name:'orange'}">
          orange
          </router-link>
    </div>
</template>
<script>
export default {}
</script>

在apple.vue及orange.vue中引用menu

<template>
  <div>
     <Menu></Menu>
     <p>APPLE</p>
 </div>
</template>
<script>
import Menu from '@/page/menu.vue'
export default {
    components: {
    Menu
  }
}
</script>
<template>
  <div>
     <Menu></Menu>
     <p>ORANGE</p>
  </div>
</template>

<script>
import Menu from '@/page/menu.vue'
export default {
    components: {
    Menu
  }
}
</script>

router/index.js  路由文件中, 用路由添加name

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

Vue.use(Router)

//引入組件
import apple from '@/page/fruits/apple.vue'
import orange from '@/page/fruits/orange.vue'
import menu from '@/page/menu.vue'
//創建一個VueRouter實例
const router = new Router({
  mode:'history',
  routes:[
    {name:'home',path:'/',component:menu},
    {name:'apple',path:'/apple',component:apple},
    {name:'orange',path:'/orange',component:orange}
  ]
})

export default router;

添加導航成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章