最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue-router二級(jí)導(dǎo)航切換路由及高亮顯示的實(shí)現(xiàn)方法

 更新時(shí)間:2019年07月10日 08:37:56   作者:無(wú)錫肖奈  
這篇文章主要給大家介紹了關(guān)于vue-router二級(jí)導(dǎo)航切換路由及高亮顯示的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

這里以網(wǎng)易云音樂作為示例,效果圖:

我們先一層一層寫導(dǎo)航

先設(shè)計(jì)第一層

1.設(shè)計(jì)導(dǎo)航頁(yè)面樣式

第一個(gè)導(dǎo)航頁(yè)面為Discover

Discover.vue:

<!-- -->
<template>
 <div>
 發(fā)現(xiàn)
 </div>
</template>


<script>
export default {
 name: "discover",
 data() {
 return {
 };
 }
};
</script>
<style scoped>
</style>

第二個(gè)導(dǎo)航頁(yè)面為Mymusic

其余代碼一樣,注意要把name改為相應(yīng)路由

name: "mymusic"

2.配置路由

index.js:

import DisCover from '@/components/DisCover'
import MyMusic from '@/components/MyMusic'
……

 routes: [
 {
  path: '/discover',
  name: 'discover',
  component: DisCover
 },
 {
  path: '/mymusic',
  name: 'mymusic',
  component: MyMusic
 }
 ]

3.使用router-link制作導(dǎo)航

我們創(chuàng)建一個(gè)新組件Guide.vue,把他插入到app.vue中

設(shè)計(jì)好路由的數(shù)據(jù)源:

 guides:[
  {
   id:0,
   name:'發(fā)現(xiàn)音樂',
   link:'/discover'
  },{
   id:1,
   name:'我的音樂',
   link:'/mymusic'
  },
  {
   id:2,
   name:'朋友',
   link:'friend'
  },
  {
   id:3,
   name:'商城',
   link:'mall'
  },
  {
   id:4,
   name:'音樂人',
   link:'musician'
  },
  {
   id:5,
   name:'下載客戶端',
   link:'download'
  }
  ]

Guide.vue:

  <ul class="nav nav-pills main-nav">
   <li v-for="(item,index) in guides" :key="index" role="presentation"
   :class="item.id==guidecurrent?'guide-active':''"
    >
    <router-link :to="item.link">{{item.name}}</router-link>
    </li>
   
   </ul>

to:是我們的導(dǎo)航路徑,要填寫的是你在router/index.js文件里配置的path值

4.單頁(yè)面多路由區(qū)域操作

我們?cè)贏pp.vue中加入<router-view>

<template>
 <div id="app">
 <Guide></Guide>
 <router-view/>
 </div>
</template>

<router-view>區(qū)域通過配置路由的js文件,來操作這些區(qū)域的內(nèi)容

設(shè)計(jì)好樣式后,我們可以發(fā)現(xiàn)我們的頁(yè)面上出現(xiàn)了導(dǎo)航

那我們?nèi)绾卧O(shè)置默認(rèn)選項(xiàng)并未其設(shè)置樣式呢?
先定義一個(gè)定義當(dāng)前頁(yè)面的變量:

guidecurrent:0

設(shè)置選中樣式:

.guide-active{
 background: black;
}

.guide-active::after {
 content: "◢◣";
 font-size: 8px;
 position: absolute;
 color: rgb(182, 15, 15);
 top: 87%;
 left: 50%;
 transform: translate(-10px, -5px);
}

通過v-bind屬性將class屬性賦給每一個(gè)<li>元素

也就是說只有當(dāng)前頁(yè)面的<li>元素才會(huì)被加載active樣式

這里注意vue中的屬性如果要以變量設(shè)置

必須要寫成 v-bind:屬性名]="[屬性值]"的形式

 <li v-for="(item,index) in guides" :key="index" role="presentation"
  :class="item.id==guidecurrent?'guide-active':''"
   >
  <router-link :to="item.link">{{item.name}}</router-link>
 </li>

下面我們?cè)O(shè)計(jì)二級(jí)導(dǎo)航

5.二級(jí)導(dǎo)航頁(yè)面樣式

與上面相同,我們創(chuàng)建兩個(gè).vue頁(yè)面

Rank.vue和Recommend.vue

6.配置路由

index.js

routes: [
 {
  path: '/discover',
  name: 'discover',
  component: DisCover,
  children:[
  {path:'rec',component:reccommend},
  {path:'rank',component:rank},
  ]
 },
 {
  path: '/mymusic',
  name: 'mymusic',
  component: MyMusic
 }
 ]

6.配置二級(jí)導(dǎo)航的<router-link>

 <ul class="nav nav-pills">
  <li role="presentation" v-for="(item,index) in guides" :key="index"
   :class="item.id==discovercurrent?'active':''"
  >
   <router-link :to="item.id">{{item.name}}</router-link>
  </li>
  </ul>

這時(shí)我們發(fā)現(xiàn)我們的二級(jí)導(dǎo)航已經(jīng)出現(xiàn)了

同樣,設(shè)置當(dāng)前頁(yè)面的變量,利用class變量以及三元表達(dá)式,實(shí)現(xiàn)功能

至此,我們的vue-router實(shí)現(xiàn)的二級(jí)導(dǎo)航就實(shí)現(xiàn)了

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論

黎平县| 甘肃省| 宾川县| 尚义县| 黔南| 张掖市| 台北县| 阳江市| 含山县| 革吉县| 闽清县| 陆良县| 如皋市| 越西县| 军事| 齐河县| 东宁县| 绵竹市| 晴隆县| 屏东县| 武平县| 五华县| 友谊县| 贞丰县| 镇雄县| 宁武县| 巴林右旗| 平谷区| 凤台县| 资阳市| 静宁县| 藁城市| 时尚| 嘉定区| 弋阳县| 翁源县| 铜梁县| 理塘县| 四会市| 荥阳市| 昌邑市|