亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-29 03:49:52 來源:腳本之家 閱讀:229 作者:Liang Fengbo 欄目:web開發

我的GitHub前端經驗總結,喜歡的話請點star:Thanks.: https://github.com/liangfengbo/frontend-develop

vuejs導航條高亮我的做法:

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

具體代碼都在下面了

效果圖:

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

html代碼

<div class="nav-box">

<!-- 導航列表 -->
<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數據

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

methods方法:

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

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

監聽路由變化獲取當前路由

watch: {
 "$route"() {
 // 獲取當前路徑
 let path = this.$route.path;
 // 檢索當前路徑
 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;
}

/*導航普通狀態*/
.item-cn {
 color: #1c2438;
 font-weight: 800;
}

/*導航普通狀態*/
.item-en {
 color: #666;
 font-size: 12px;
}

/*導航高亮*/
.item-cn-active {
 color: #2d8cf0;
}

/*導航高亮*/
.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;
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇仁县| 龙海市| 武清区| 富宁县| 正定县| 长岭县| 临泽县| 博爱县| 荔浦县| 河源市| 修水县| 泰兴市| 和静县| 永宁县| 开平市| 调兵山市| 山阴县| 白银市| 阿合奇县| 怀化市| 子洲县| 和龙市| 大荔县| 常熟市| 汝城县| 雷州市| 绥宁县| 黄陵县| 阿克苏市| 汽车| 长乐市| 嘉定区| 教育| 宁南县| 荔浦县| 芦山县| 盐边县| 福州市| 斗六市| 赫章县| 铁岭县|