vue2 中二级路由高亮问题及配置方法


Posted in Javascript onJune 10, 2019

实现效果图

vue2 中二级路由高亮问题及配置方法 

1、项目中的图标使用的是element-ui框架中的图标,如果需要引入可以看我写的上一篇文章。

2、首先配置路由

我初始化项目的时候初始化了路由,所以打开router/index.js文件进行修改配置

router/index.js

import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
import Game from '@/components/Game'
import Bbs from '@/components/Bbs'
import Me from '@/components/Me'
import Nba from '@/components/Nba'
import Recommend from '@/components/Recommend'

Vue.use(Router)

export default new Router({
 mode: 'history',
 linkActiveClass: 'active',
 routes: [
 { path: '/', redirect: '/home' }, // 重定向到 home
 {
  path: '/home',
  name: 'Home',
  component: Home,
  // children path中"/home/"可以省略
  children: [
  {
   path: '/',     // 子路由重定向
   redirect: 'recommend'
  },
  {
   path: 'recommend',
   name: 'recommend',
   component: Recommend
  },
  {
   path: 'nba',
   name: 'nba',
   component: Nba
  },
  {
   path: 'video',
   name: 'video',
   component: Nba
  },
  {
   path: 'entertain',
   name: 'entertain',
   component: Nba
  }
  ]
 },
 {
  path: '/game',
  name: 'Game',
  component: Game
 }, {
  path: '/bbs',
  name: 'Bbs',
  component: Bbs
 }, {
  path: '/me',
  name: 'Me',
  component: Me
 }
 ]
})

app.vue

底部导航封装为TabBar组件,在app.vue中引入

<template>
 <div id="app">
 <div :class="{router: true}">
  <router-view/>
 </div>
 <!-- 底部导航组件 -->
 <div :class="{tabbar: true}">
  <tab-bar></tab-bar>
 </div>
 </div>
</template>
<script>
import TabBar from './components/Tabs'
export default {
 name: 'App',
 components: {
 // 底部导航组件
 TabBar
 }
}
</script>
<style scoped>
 #app {
 width: 100%;
 height: 100%;
 display: flex;
 flex-direction: column;
 }
 .router {
 flex: 1;
 padding: 10pt;
 }
 .tabbar {
 height: 30pt;
 padding: 10pt 0;
 border-top: 1pt solid #e6e6e6;
 background: #fbfbfb;
 }
</style>

Tabs.vue

<template>
 <div id="tabs">
 <div class="home">
  <!-- 点击其他tab页,再次点击home的时候,路由重定向到了recommend,注意写法 to="/home/" -->
  <router-link to="/home/" tag="div">
   <div><i class="el-icon-s-home"></i></div>
  <div>首页</div>
  </router-link>
 </div>
 <div class="game">
  <router-link :to="{name: 'Game'}" tag="div">
   <div><i class="el-icon-s-goods"></i></div>
  <div>比赛</div>
  </router-link>
 </div>
 <div class="bbs">
  <router-link :to="{name: 'Bbs'}" tag="div">
   <div><i class="el-icon-share"></i></div>
  <div>社区</div>
  </router-link>
 </div>
 <div class="me">
  <router-link :to="{name: 'Me'}" tag="div">
   <div><i class="el-icon-s-custom"></i></div>
  <div>我</div>
  </router-link>
 </div>
 </div>
</template>
<script>
export default {
 name: 'TabBar'
}
</script>
<style scoped>
 #tabs {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  color: #b5b5b5;
 }
 #tabs i {
  font-size: 18pt;
 }
 .active {
  color: #468dcc;
 }
</style>

这样就添加了底部导航,然后我们配置home界面,home界面中有二级导航,而且在首页的二级导航选中的时候,需要高亮显示”首页“tab页

Home.vue

<template>
 <div id="home">
 <div :class="{topbar: true}">
  <router-link :to="{name: 'recommend'}" tag="div">推荐</router-link>
  <router-link :to="{name: 'nba'}" tag="div">篮球(NBA)</router-link>
  <router-link :to="{name: 'video'}" tag="div">视频</router-link>
  <router-link :to="{name: 'entertain'}" tag="div">影视娱乐</router-link>
 </div>
 <div :class="{tabInfo: true}">
  <router-view/>
 </div>
 </div>
</template>
<script>
export default {
 name: 'Home',
 data () {
 return {
  name: 'home'
 }
 }
}
</script>
<style scoped>
 #home {
 display: flex;
 flex-direction: column;
 text-align: left;
 height: 100%;
 }
 .topbar {
 height: 26pt;
 font-size: 12pt;
 color: #343434;
 background: #fbfbfb;
 border-bottom: 1pt solid #e6e6e6;
 margin-bottom: 10pt;
 display: flex;
 flex-direction: row;
 }
 .topbar div {
 margin: 0 5pt;
 }
 .topbar span {
 padding-bottom: 11pt;
 }
 .active {
 color: #468dcc;
 border-bottom: 1pt solid #468dcc;
 font-weight: bold;
 }
 .tabInfo {
 flex: 1;
 }
</style>

总结

以上所述是小编给大家介绍的vue2 中二级路由 高亮问题及配置方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JS 统计时间
Mar 09 Javascript
js实现在页面上弹出蒙板技巧简单实用
Apr 16 Javascript
解决jquery版本冲突的有效方法
Sep 02 Javascript
javascript排序函数实现数字排序
Jun 26 Javascript
JavaScript动态检验密码强度的实现方法
Nov 09 Javascript
一次围绕setTimeout的前端面试经验分享
Jun 15 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
Nov 15 Javascript
如何编写一个完整的Angular4 FormText 组件
Nov 18 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
Sep 18 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
Oct 19 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
JS中实现一个下载进度条及播放进度条的代码
Jun 10 #Javascript
vuex 中插件的编写案例解析
Jun 10 #Javascript
使用webpack搭建vue项目及注意事项
Jun 10 #Javascript
详解iview的checkbox多选框全选时校验问题
Jun 10 #Javascript
前端路由&amp;webpack基础配置详解
Jun 10 #Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
Jun 10 #Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
Jun 10 #Javascript
You might like
IStream与TStream之间的相互转换
2008/08/01 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
javascript同步服务器时间和同步倒计时小技巧
2015/09/24 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
vue2项目使用sass的示例代码
2017/06/28 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
python合并多个excel文件的示例
2020/09/23 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
协议书模板
2014/04/23 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers