vue Router路由基本使用
vue Router路由组件是vue的核心组件;
平时我们通过路由组件来实现导航菜单以及各种页面切换;
vue Router路由组件安装;
我们用vue-cli初始化的时候,可以选择添加vue Router;
也可以单独 执行 npm install vue-router --save 来安装;
我们首先建两个目录 router和pages,分别放路由路由模块配置文件和组件文件
再建两个组件Index.vue和Menu1.vue;
Index.vue
<template>
<div>
Index首页
</div>
</template>
<script>
export default {
name: 'Index'
}
</script>
<style scoped>
</style>Menu1.vue
<template>
<div>
菜单一
</div>
</template>
<script>
export default {
name: 'Menu1'
}
</script>
<style scoped>
</style>router下建个路由配置文件index.js
/*
路由器模块
*/
import Vue from 'vue'
import VueRouter from 'vue-router'
import Index from '../pages/Index'
import Menu1 from '../pages/Menu1'
Vue.use(VueRouter)
export default new VueRouter({
// 多个路由
routes:[
{
path:'/index',
component:Index
},
{
path:'/menu1',
component:Menu1
}
]
})main.js里导入路由配置,以及配置路由
/*
入口js:创建Vue实例
*/
import Vue from 'vue'
import App from './App'
import router from './router'
new Vue({
el:'#app',
components:{
App
},
template:'<App/>',
router
})App.vue里:
<template>
<div>
<div class="menu">
<ul>
<li>
<!--<a href="">首页</a>-->
<router-link to="/index">首页</router-link>
</li>
<li>
<!--<a href="">菜单1</a>-->
<router-link to="/menu1">菜单1</router-link>
</li>
</ul>
</div>
<div class="content">
<router-view></router-view>
</div>
</div>
</template>
<script>
export default {
name: 'App',
}
</script>
<style>
ul li{
float:left;
padding-left: 20px;
list-style-type: none;
}
ul li a{
text-decoration: none;
}
.content{
clear: both;
padding: 20px;
}
</style>router-link 里配置请求路由,通过路由配置,找到响应组件;
router-view里显示组件内容;
运行效果:

不过两个问题,没有默认显示页面页面;
我们配置下路由,默认显示下首页内容;
index.js修改下:

{
path:'/',
redirect:'/index'
}
这样的话 默认首页 就会跳转到index请求;
还有一个,我们加个需求,点击的菜单,显示红色;
我们看下

选中的时候多了两个样式 router-link-exact-active router-link-active
我们可以给router-link-active 这个动态样式 加个color:red属性即可;
直接index.html里加:

这样就可以实现选中菜单颜色变红的效果了;
上一篇:vue 过渡&动画
下一篇:vue Router嵌套路由