vue2 中二級路由高亮問題及配置方法
實(shí)現(xiàn)效果圖
1、項(xiàng)目中的圖標(biāo)使用的是element-ui框架中的圖標(biāo),如果需要引入可以看我寫的上一篇文章。
2、首先配置路由
我初始化項(xiàng)目的時候初始化了路由,所以打開router/index.js
文件進(jìn)行修改配置
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
底部導(dǎo)航封裝為TabBar組件,在app.vue中引入
<template> <div id="app"> <div :class="{router: true}"> <router-view/> </div> <!-- 底部導(dǎo)航組件 --> <div :class="{tabbar: true}"> <tab-bar></tab-bar> </div> </div> </template> <script> import TabBar from './components/Tabs' export default { name: 'App', components: { // 底部導(dǎo)航組件 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"> <!-- 點(diǎn)擊其他tab頁,再次點(diǎn)擊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>社區(qū)</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>
這樣就添加了底部導(dǎo)航,然后我們配置home界面,home界面中有二級導(dǎo)航,而且在首頁的二級導(dǎo)航選中的時候,需要高亮顯示”首頁“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>
總結(jié)
以上所述是小編給大家介紹的vue2 中二級路由 高亮問題及配置方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
Vue3+script setup+ts+Vite+Volar搭建項(xiàng)目
本文主要介紹了Vue3+script setup+ts+Vite+Volar搭建項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08vue項(xiàng)目如何監(jiān)聽localStorage或sessionStorage的變化
這篇文章主要介紹了vue 項(xiàng)目如何監(jiān)聽localStorage或sessionStorage的變化,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2021-01-01詳解vue axios用post提交的數(shù)據(jù)格式
這篇文章主要介紹了詳解vue axios用post提交的數(shù)據(jù)格式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08Vue+Element UI實(shí)現(xiàn)概要小彈窗的全過程
彈窗效果是我們?nèi)粘i_發(fā)中經(jīng)常遇到的一個功能,下面這篇文章主要給大家介紹了關(guān)于Vue+Element UI實(shí)現(xiàn)概要小彈窗的相關(guān)資料,需要的朋友可以參考下2021-05-05關(guān)于axios配置多個請求地址(打包后可通過配置文件修改)
這篇文章主要介紹了關(guān)于axios配置多個請求地址(打包后可通過配置文件修改),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09