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 相关文章推荐
jqPlot 图表中文API使用文档及源码和在线示例
Feb 07 Javascript
jquery实现动态操作select选中
Feb 11 Javascript
jQuery使用addClass()方法给元素添加多个class样式
Mar 26 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
Apr 16 Javascript
JSON字符串和对象相互转换实例分析
Jun 16 Javascript
基于JavaScript实现屏幕滚动效果
Jan 18 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
Jan 22 Javascript
JS实现的简单折叠展开动画效果示例
Apr 28 Javascript
vue 使用vue-i18n做全局中英文切换的方法
Oct 29 Javascript
微信小程序使用npm支持踩坑
Nov 07 Javascript
vue回到顶部监听滚动事件详解
Aug 02 Javascript
关于vue-cli3打包代码后白屏的解决方案
Sep 02 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
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
Extjs 几个方法的讨论
2010/01/28 Javascript
nodejs实用示例 缩址还原
2010/12/28 NodeJs
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
JavaScript类的写法
2016/09/17 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
用python实现百度翻译的示例代码
2018/03/09 Python
python实现在一个画布上画多个子图
2020/01/19 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
制冷与电控专业应届生求职信
2013/11/11 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
食品流通安全承诺书
2014/05/22 职场文书
干部作风建设工作总结
2014/10/29 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
节水宣传标语口号
2015/12/26 职场文书
导游词之镇江焦山
2019/11/21 职场文书
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis
Python加密与解密模块hashlib与hmac
2022/06/05 Python
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技