vuejs切換導(dǎo)航條高亮(路由菜單高亮)的方法示例

我的GitHub前端經(jīng)驗(yàn)總結(jié),喜歡的話請(qǐng)點(diǎn)star:Thanks.: https://github.com/liangfengbo/frontend-develop

乳山網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,乳山網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為乳山上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的乳山做網(wǎng)站的公司定做!

vuejs導(dǎo)航條高亮我的做法:

  1. 用一個(gè)數(shù)組存導(dǎo)航條,用v-for循環(huán)它,這樣可以減少代碼,二可以使用它的下標(biāo)來判斷高亮,三還可以獲取后端的導(dǎo)航信息來遍歷
  2. 重點(diǎn)是在:routerLink(index, path)函數(shù),傳入當(dāng)前點(diǎn)擊的下標(biāo),自定義一個(gè)下標(biāo),判斷是否相等就用三元符號(hào)判斷多給一個(gè)高亮樣式
  3. 如何解決刷新就不高亮或第一個(gè)高亮了,很簡(jiǎn)單,監(jiān)聽一下當(dāng)前路由在判斷就好了

具體代碼都在下面了

效果圖:

vuejs 切換導(dǎo)航條高亮(路由菜單高亮)的方法示例

html代碼

<div class="nav-box">

<!-- 導(dǎo)航列表 -->
<li class="nav-item"
 v-for="(item, index) in nav"
 @click="routerLink(index, item.path)"
 :key="index">
 <!-- 判斷高亮表 -->
 <p :class="navIndex === index ? 'item-cn item-cn-active' : 'item-cn'">
 {{ item.title }}
 </p>
 <!-- 判斷高亮表 -->
 <p :class="navIndex === index ? 'item-en item-en-active' : 'item-en'">
 {{ item.en }}
 </p>
</li>
</div>

data數(shù)據(jù)

// 導(dǎo)航條
data() {
 return {
 nav: [
  {title: '首頁(yè)', en: 'Code', path: '/'},
  {title: '開源', en: 'Source', path: '/source'},
  {title: '關(guān)于', en: 'About', path: '/about'},
 ],
 navIndex: 0,
 }
},

methods方法:

/**
 * 路由跳轉(zhuǎn)
 * @param index
 * @param link
*/
routerLink(index, path) {
 // 點(diǎn)擊哪個(gè)路由就賦值給自定義的下下標(biāo)
 this.navIndex = index;
 // 路由跳轉(zhuǎn)
 this.$router.push(path)
},

/**
 * 檢索當(dāng)前路徑
 * @param path
*/
checkRouterLocal(path) {
 // 查找當(dāng)前路由下標(biāo)高亮
 this.navIndex = this.nav.findIndex(item => item.path === path);
}

監(jiān)聽路由變化獲取當(dāng)前路由

watch: {
 "$route"() {
 // 獲取當(dāng)前路徑
 let path = this.$route.path;
 // 檢索當(dāng)前路徑
 this.checkRouterLocal(path);
 }
},

css樣式

.nav-box {
 display: flex;
}

.nav-item {
 text-align: center;
 padding: 0 32px;
 position: relative;
 display: inline-block;
 font-size: 14px;
 line-height: 25px;
}

/*導(dǎo)航普通狀態(tài)*/
.item-cn {
 color: #1c2438;
 font-weight: 800;
}

/*導(dǎo)航普通狀態(tài)*/
.item-en {
 color: #666;
 font-size: 12px;
}

/*導(dǎo)航高亮*/
.item-cn-active {
 color: #2d8cf0;
}

/*導(dǎo)航高亮*/
.item-en-active {
 color: #5cadff;
}

.nav-item:hover .item-cn {
 color: #2d8cf0;
}

.nav-item:hover .item-en {
 color: #5cadff;
}

.nav-item:after {
 position: absolute;
 right: 0;
 top: 20px;
 content: '';
 width: 1px;
 height: 16px;
 background-color: #f8f8f8;
}

.nav-item:after:last-child {
 width: 0;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)站題目:vuejs切換導(dǎo)航條高亮(路由菜單高亮)的方法示例
本文鏈接:http://m.kartarina.com/article36/pipgpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT網(wǎng)站排名云服務(wù)器微信公眾號(hào)虛擬主機(jī)網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
主站蜘蛛池模板: MM1313亚洲精品无码久久| 免费看无码特级毛片| 亚洲中文字幕不卡无码| 惠民福利中文字幕人妻无码乱精品| 国产综合无码一区二区辣椒| 精品深夜AV无码一区二区老年| 曰韩无码AV片免费播放不卡| 无码av免费一区二区三区| 免费人妻无码不卡中文字幕18禁| 亚洲大尺度无码专区尤物| 日韩AV无码一区二区三区不卡| 午夜不卡无码中文字幕影院| 免费无遮挡无码视频在线观看 | 人妻少妇伦在线无码| 无码中文字幕乱在线观看| 精品无码中文视频在线观看| 久久无码人妻一区二区三区| 日韩成人无码中文字幕| 亚洲AV无码一区二区三区鸳鸯影院 | 亚洲AV无码欧洲AV无码网站| 国产强被迫伦姧在线观看无码| 久久精品中文字幕无码绿巨人| 亚洲精品午夜无码电影网| 国产精品无码翘臀在线观看| 亚洲一区二区无码偷拍| 在线观看无码AV网址| 日韩午夜福利无码专区a| 久久老子午夜精品无码怎么打| 潮喷大喷水系列无码久久精品| 亚洲 无码 在线 专区| 免费无码一区二区三区蜜桃大| 亚洲精品无码不卡在线播放| 69ZXX少妇内射无码| 精品无码一区二区三区亚洲桃色| 亚洲av无码不卡| 久久久久无码精品国产不卡| 国产成A人亚洲精V品无码 | 亚洲精品无码Av人在线观看国产 | 亚洲av永久无码嘿嘿嘿| 人妻无码第一区二区三区| 免费A级毛片无码A∨|