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;

添加导航成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值