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

vue組件的路由高亮問題解決方法

 更新時間:2021年05月11日 11:28:49   作者:口袋の的天空  
這篇文章主要給大家介紹了關(guān)于vue組件的路由高亮問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

之前我對于路由的高亮都是使用緩存,給他的所有路由遍歷一遍,每點擊一下的時候,給他的當(dāng)前值高亮,賦值active。后來發(fā)現(xiàn)一刷新就不行,高亮的就變成默認(rèn)值0了,這里主要是講這個問題的解決辦法。

第一種是通過這樣的添加類:

.router{
        font: 12px/40px '微軟雅黑';
        background: pink;
        background: pink;
        color: white;
        cursor: pointer;
        text-align: center;
        display: inline-block;
        width: 40px;
        background: pink;
        &.isActive{
            background: blue;
            color:red;
        }
    }

第二種是監(jiān)聽path:

原本的代碼是這樣的:

<template>
<div id="main">
    <ul style="height:40px;background:pink;">
        <li  class="router" v-for="(item,index) in items" :key="index" style="float:left;" :class="item.isActive?'isActive':''" @click="routerTo(item,index)">
            <span >{{item.name}}</span>
        </li>
    </ul>
    <router-view></router-view>
    </div>
    
</template>
<script>
    export default {
        data () {
            return {
                activeIndex2:'0',
                items:[
                    {name:'twoPage',code:'twoPage',path:'/twoPage',defaultIcon:require('@/assets/icon/BehaviorRank-default.png'),
                    activeIcon:require('@/assets/icon/behaviorrank-active.png'),isActive:true},
                    {name:'three',code:'three',path: '/three',defaultIcon:require('@/assets/icon/ChannelAllocation-default.png'),
                    activeIcon:require('@/assets/icon/ChannelAllocation-active.png'),isActive:false},
                    {name:'four',code:'four',path:'/four',defaultIcon:require('@/assets/icon/myReport-default.png'),
                    activeIcon:require('@/assets/icon/myReport-active.png'),isActive:false},
                ],
            }
        },
        methods:{
            routerTo(item,index) {
                 for (let i = 0; i < this.items.length; i++) {
                    this.items[i].isActive=false
                    
                }
                this.items[index].isActive=true
                this.$router.push({name:item.name})
               
            },
        }
    }
</script>
<style lang='less'>
#main{
    .router{
        font: 12px/40px '微軟雅黑';
        background: pink;
        background: pink;
        color: white;
        cursor: pointer;
        text-align: center;
        display: inline-block;
        width: 40px;
        background: pink;
        
    }
    .isActive{
            background: blue;
            color:red;
        }
    
}

</style>

效果:

但如果點擊刷新會這樣:高亮的Index跑到了初始化0的位置。

如何解決這種問題

有一種方法是通過緩存sessionStorage。每次點擊一下就存入緩存,刷新就從變量取值,變量沒有值就從緩存取值。但一直存一直取可能有的人覺得麻煩。

還有一種方法就是初始化的時候獲取路由,根據(jù)不同的路由激活對應(yīng)的導(dǎo)航

created(){
            // var path=window.location.hash.slice(2);//沒有參數(shù)時這種寫法也可以,不推薦
            var path=this.$route.name//推薦這種
            console.log(path)
            if(path){
                for (let i = 0; i < this.items.length; i++) {
                    this.items[i].isActive=false
                }
                switch(path){
                    case 'twoPage':
                    this.items[0].isActive=true;
                    break;
    
                    case 'three':
                    this.items[1].isActive=true;
                    break;
    
                    case 'four':
                    this.items[2].isActive=true;
                    break;
                }
            }
        },

附:vue點擊當(dāng)前路由高亮的具體代碼

功能展示:

組件代碼:

標(biāo)簽上加exact

.router-link-active{
 background: rgba(255,255,255,0.8);
 color: gray;
 }

<template>
 <nav>
  <ul>
  <li>
   <router-link to="/" exact>博客</router-link>
   <router-link to="/AddBlog" exact>寫博客</router-link>
  </li>
  </ul>
 </nav>
</template>
 
<script>
 export default {
  name: "bolgheader"
 }
</script>
 
<style scoped>
 ul{
 list-style-type: none;
 text-align: center;
 margin:0;
 }
 li{
 display: inline-block;
 margin:0 10px;
 }
 a{
 color:rgb(102, 119, 204);
 text-decoration: none;
 padding:12px;
 border-radius: 5px;
 font-size:20px;
 }
 nav{
 background: #eee;
 padding: 30px 0;
 margin-bottom: 40px;
 }
 .router-link-active{
 background: rgba(255,255,255,0.8);
 color: gray;
 }
</style> 

總結(jié)

到此這篇關(guān)于vue組件的路由高亮問題解決方法的文章就介紹到這了,更多相關(guān)vue組件的路由高亮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 為什么推薦使用JSX開發(fā)Vue3

    為什么推薦使用JSX開發(fā)Vue3

    這篇文章主要介紹了為什么推薦使用JSX開發(fā)Vue3,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • VUE3使用JSON編輯器方式

    VUE3使用JSON編輯器方式

    這篇文章主要介紹了VUE3使用JSON編輯器方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 如何使用 Vuex的入門教程

    如何使用 Vuex的入門教程

    在vue中當(dāng)我們管理數(shù)據(jù)的時候比較亂,我們要用到下面的這個庫,本文主要介紹了如何使用 Vuex的入門教程,具有一定的參考價值,感興趣的可以了解一下
    2022-02-02
  • Vue3?Transition組件給頁面切換并加上動畫效果

    Vue3?Transition組件給頁面切換并加上動畫效果

    這篇文章主要給大家介紹了關(guān)于Vue3?Transition組件給頁面切換并加上動畫效果的相關(guān)資料,vue的過渡動畫主要是transition標(biāo)簽的使用,配合css動畫實現(xiàn)的,需要的朋友可以參考下
    2023-06-06
  • Vue進度條progressbar組件功能

    Vue進度條progressbar組件功能

    progressbar組件在一個可以直接運行的npm包,通過Yeoman進行構(gòu)建,再通過Gulp+Webpack構(gòu)建工具。這篇文章給大家介紹了Vue進度條progressbar組件
    2018-04-04
  • vue管理系統(tǒng)項目中的一些核心技能匯總

    vue管理系統(tǒng)項目中的一些核心技能匯總

    Vue是當(dāng)今增長最快的前端框架,Vue 平易近人、用途廣泛且性能卓越,它的語法非常直觀,并且具有友好的學(xué)習(xí)曲線,是開發(fā)人員最想學(xué)習(xí)的頂級前端庫之一,下面這篇文章主要給大家介紹了關(guān)于vue管理系統(tǒng)項目中的一些核心技能,需要的朋友可以參考下
    2022-05-05
  • vue中的代碼如何進行斷點調(diào)試

    vue中的代碼如何進行斷點調(diào)試

    這篇文章主要介紹了vue中的代碼如何進行斷點調(diào)試問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue/cli3版本打包如何去掉soucemap文件

    vue/cli3版本打包如何去掉soucemap文件

    這篇文章主要介紹了vue/cli3版本打包如何去掉soucemap文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vue項目運行超詳細(xì)圖解

    vue項目運行超詳細(xì)圖解

    這篇文章主要給大家介紹了關(guān)于vue項目運行的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • 如何通過URL來實現(xiàn)在Vue中存儲業(yè)務(wù)狀態(tài)實用技巧

    如何通過URL來實現(xiàn)在Vue中存儲業(yè)務(wù)狀態(tài)實用技巧

    這篇文章主要為大家介紹了如何通過URL來實現(xiàn)在Vue中存儲業(yè)務(wù)狀態(tài)實用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10

最新評論

左贡县| 南澳县| 永胜县| 济南市| 武陟县| 衢州市| 德兴市| 邻水| 大埔区| 马鞍山市| 晋江市| 正定县| 辽宁省| 奇台县| 共和县| 新和县| 武鸣县| 襄樊市| 庆元县| 恩施市| 罗田县| 井研县| 隆林| 抚顺县| 平乐县| 嵊州市| 北票市| 外汇| 日土县| 武定县| 廉江市| 吉林市| 晋宁县| 花莲市| 宜春市| 武乡县| 南召县| 宁阳县| 惠水县| 宣化县| 蓝山县|