因为Vue在开发时对路由支持的不足,后来官方补充了vue-router插件,它在Vue的生态环境中很是重要,在实际开发中只要编写一个页面就会操做vue-router。要学习vue-router就要先知道这里的路由是什么?这里的路由并非指咱们平时所说的硬件路由器,这里的路由就是SPA(单页应用)的路径管理器。再通俗的说,vue-router就是咱们WebApp的连接路径管理系统。javascript
有的小伙伴会有疑虑,为何咱们不能像原来同样直接用<a></a>标签编写连接哪?由于咱们用Vue做的都是单页应用,就至关于只有一个主的index.html页面,因此你写的<a></a>标签是不起做用的,你必须使用vue-router来进行管理。html
本文档主要是一个Vue-router入门文档,须要先查看“Vue-cli搭建项目”文档,建立项目基础上实现如下功能。vue
vue-router是一个插件包,因此咱们仍是须要用npm来进行安装的。java
在使用Vue-cli搭建项目时,有一个选项是选择是否安装vue-router的,若是已经安装就不须要安装了,若是未安装须要在项目根目录下经过执行如下命令进行安装:web
npm install vue-router --save-dev
若是你安装很慢,也能够用cnpm进行安装。vue-router
咱们用vue-cli生产了咱们的项目结构,你能够在src/router/index.js文件,这个文件就是路由的核心文件,咱们先解读一下它。vue-cli
import Vue from 'vue' //引入Vue import Router from 'vue-router' //引入vue-router import Hello from '@/components/Hello' //引入根目录下的Hello.vue组件 Vue.use(Router) //Vue全局使用Router export default new Router({ routes: [ //配置路由,这里是个数组 { //每个连接都是一个对象 path: '/', //连接路径 name: 'Hello', //路由名称, component: Hello //对应的组件模板 } ] })
在src/components目录下,新建 Hi.vue 文件。npm
<template> <div> <h2>{{message}}</h2> </div> </template> <script> export default { name: "Hi", data() { return { message : 'Wo Shi Hi!' }; } }; </script> <style scoped> </style>
在router/index.js文件的上边引入Hi组件,并在router/index.js文件的routes[]数组中,新增长一个对象。数组
import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld' // 引入Hi import Hi from '@/components/Hi' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld }, // 配置Hi对象 { path: '/Hi', name: 'Hi', component: Hi } ] })
完成以上信息就完成了一个新路由及新页面编写,启动项目在浏览器中输入浏览器
URL: http://localhost:8080/#/hi ,就能够看到如下页面,表示成功。
在src/App.vue文件中的template里加入下面代码,实现导航。
<!-- 导航 --> <div> <router-link to="/">Hello</router-link> <router-link to="/Hi">Hi</router-link> </div>
完成的src/App.vue文件内容为:
<template> <div id="app"> <img src="./assets/logo.png"> <!-- 导航 --> <div> <router-link to="/">Hello</router-link> <router-link to="/Hi">Hi</router-link> </div> <router-view/> </div> </template> <script> export default { name: 'App' } </script> <style> #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } </style>
完成以上信息就完成了一个导航编写,启动项目在浏览器中输入
URL: http://localhost:8080/,就能够看到如下页面,在页面中就多了导航菜单连接,表示成功。
点击Hello进入Hello页面,点击Hi,进入Hi页面
连接<router-link>标签
<router-link to="/">[显示字段]</router-link>