1、简单了解一下,Vue Router是Vue.js官网的路由管理器,它和Vue.js的核心深度集成,让构建单页面应用变得易如反掌。
功能:
1.嵌套的路由/视图表
2.模块化的、基于组件的路由配置
3.路由参数、查询、通配符
4.基于Vue.js过渡系统的视图过渡效果
5.细粒度的导航控制
4.带有自动激活的CSS class的链接
5.HTML5历史模式或hash模式,在IE9中自动降级
6.自定义的滚动条行为
2、在项目中安装vue-router
npm install vue-router --save-dev
这是我们的项目结构,其实只要关注src目录即可;
3、好了,我们前期工作准备完了,上代码了:
Main.vue组件
<template>
<h1>首页</h1>
</template>
<script>
export default {
name: "Main"
}
</script>
<style scoped>
</style>
Content.vue组件
<template>
<h1>内容页</h1>
</template>
<script>
export default {
name: "Content"
}
</script>
<style scoped>
</style>
index.js文件
import Vue from "vue";
import VueRouter from "vue-router";
// 安装完vue-router再导入,其实就跟我们导入jar一样的
// 【注意】require 是 AMD规范引入方式 import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法
import Content from "../components/Content";
import Main from "../components/Main";
// 安装路由,显示声明使用VueRouter
Vue.use(VueRouter);
// 配置导出路由
export default new VueRouter({
routes: [
{
// 路由路径,其实就是路径跳转
// 你可以想象为我们后端的@RequestMapping,重定向转发嘛
path: '/content',
name: 'content',
//跳转的组件
component: Content
},
{
// 路由路径,其实就是路径跳转
path: '/main',
name: 'main',
//跳转的组件
component: Main
}
]
});
main.js文件
import Vue from 'vue'
import App from './App'
// 当为index的时候就会默认的加载,你只要告诉他你的路由文件在哪即可
// 自动扫描里面的路由配置
import router from './router'
Vue.config.productionTip = false
new Vue({
el: '#app',
// 配置路由
router,
components: { App },
template: '<App/>'
})
App.vue组件
<template>
<div id="app">
<h1>咸鱼-翻身</h1>
<router-link to="/main">跳到首页</router-link>
<router-link to="/content">跳到内容页</router-link>
<router-view></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>
4、我们输入npm run dev运行,运行结果如下:
npm run dev
点击跳到首页:
点击跳到内容页:
5、我们再来理解一下:
我们首先编写Content和Main组件内容并且在index路由配置进行路径绑定,然后main主程序入口导入并申明使用,最后在App组件嵌套两个路由便签,就是刚才绑定的好的两个路径,就完成了。
6、画个图帮助大家理解执行的过程: