Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌.
1. Vue路由的安装和配置1.1 安装vue路由 npm install vue-router --save-dev
2.2 配置vue路由// 1\. 导入路由并使用import Vue from 'vue' // 导入vuerouter import VueRouter from 'vue-router'; // 使用功能VueRouter插件Vue.use(VueRouter) // 2\. 创建路由实例,并配置路由映射// 2.1 创建路径与组件的映射关系let routes = [ { path:'/home', component: Home }, { path:'/list', component: List }, { path:'/about', component: About }] // 2.2 创建路由实例var router = new VueRouter({ // 配置路由 routes,}) // 3\. 将配置好的路由在Vue实例中使用 new Vue({ el:'#app', router })
2. 路由的基本概念路由中有三个基本的概念route,routes,router. route, 它是一条路由,就是一个路径和组件的映射关系 // route { path:'/', component: Home}
routes 是一组路由,把每条route的路由组合起来,形成一个数组。 routes:[ { path:'/', component: Home }, { path:'/list', component: List } ]
router 是一个路由机制,相当于一个管理者,他来管理路由。因为routes只是定义了一组路由,也就是一组路径和组件的对应关系,当用户点击了按钮,改变一个路径,router会更加路径处理不同组件 var router = new VueRouter({ // 配置路由 routes:[...] })
3. 路由的基本使用3.1 内置的两个组件router-link组件说明: router-link 是vue-router 已经注册好的组件,直接使用就可以了router-link 是用来切换路由的,通过to属性来跳转到指定的路由router-link 在编译的时候会自动被编译为a 标签,可以使用tag属性指定编译为你要的标签
router-view组件说明: router-view 用来指定当前路由所映射的组件显示的位置router-view 可以理解为占位符,为路由映射的组件占位,不同路由映射的组件通过替换显示- 和动态组件的效果类似
使用展示: 首页 列表 关于作者
4. 路由使用示例:4.1 示例目录4.2 源码部分4.2.1 组件相关:Home组件 文件: components => Home.vue
List组件 文件: components => List.vue
About组件 文件: components => About.vue
4.2.2 定义和配置路由关系路由: 文件: router => index.js // 1\. 导入模块import Vue from 'vue';import VueRouter from 'vue-router';// 2\. 使用VueRouter插件Vue.use(VueRouter)// 3\. 导入组件import Home from '../components/Home';import List from '../components/List';import About from '../components/About';// 4\. 配置路由与组件映射关系let routes = [ { path:'/home', component: Home }, { path:'/list', component: List }, { path:'/about', component: About }]// 5.实例化路由const router = new VueRouter({ routes})export default router
4.2.3 使用路由使用路由进行页面跳转 文件: App.vue 通过示例:我们发现vue路由默认使用的是hash路由 5. 路由的配置5.1 根路由配置上面的示例中,我们在配置路由映射的时候,这配置了/home ,/list ,/about 三条路由, 如图: 但是我们在每次打开页面是,默认访问的路径是/ ,这条路径并没有映射任何组件内容, 因此router-view 组件占位的地方不会显示任何内容 因而我们需要配置根路由显示的内容 有两种解决方案, 5.1.1 配置路由组件第一种就是配置根路由/ 显示的组件,如下 { path:"/", component: Home, },
路由表 显示结果 5.1.2 配置路由重定向使用redirect 字段配置路由重定向 { path:"/", // 路由重定向: // 虽然访问的是/根路由,但是自动重新转义到/home路由 redirect: "/home" },
路由表: 显示结果: 推荐使用重定向的配置方法. 5.2 路由模式上一节有提到过,前端路由的实现有两种方案,一种是通过hash值,一种是通过H5 的history. 但是Vue路由默认使用hash模式. 如图: hash路由中# 看起来多多少少有点别扭.我们就像使用history模式,那要怎么设置呢 VueRouter配置项中处理提供一个routes 用来配置路由映射表,还提供了一个mode 选项用来配置路由模式 路由模式配置: 路由显示样式: 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
|