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 相关文章推荐
取得传值的函数
Oct 27 Javascript
Jquery 获取checkbox的checked问题
Nov 16 Javascript
详解JavaScript中的blink()方法的使用
Jun 08 Javascript
深入浅析JavaScript中with语句的理解
May 12 Javascript
浅谈jquery设置和获得checkbox选中的问题
Aug 19 Javascript
判断数组的最佳方法(推荐)
Oct 11 Javascript
利用React-router+Webpack快速构建react程序
Oct 27 Javascript
前端构建工具之gulp的语法教程
Jun 12 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
Jun 13 Javascript
彻底理解js面向对象之继承
Feb 04 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
Sep 12 Javascript
pnpm对npm及yarn降维打击详解
Aug 05 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
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
聊天室php&amp;mysql(四)
2006/10/09 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
如何让页面加载完成后执行js
2013/06/26 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
SVG实现时钟效果
2018/07/17 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
python 把数据 json格式输出的实例代码
2016/10/31 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
django框架ModelForm组件用法详解
2019/12/11 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
python简单实现9宫格图片实例
2020/09/03 Python
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
小学教师听课制度
2014/02/01 职场文书
房产委托公证书样本
2014/04/04 职场文书
家庭贫困证明
2014/09/23 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
出国留学英文自荐信
2015/03/25 职场文书
工作感言一句话
2015/08/01 职场文书
个人合作协议范本
2015/08/06 职场文书
电工实训心得体会
2016/01/14 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python
MySQL 数据库范式化设计理论
2022/04/22 MySQL