Vorwort Früher habe ich den Cache verwendet, um die Routen hervorzuheben. Ich bin alle Routen durchgegangen und habe bei jedem Anklicken den aktuellen Wert der Route hervorgehoben und ihm den Wert „aktiv“ zugewiesen. Später stellte ich fest, dass es beim Aktualisieren nicht funktionierte und der hervorgehobene Bereich den Standardwert 0 annahm. Hier spreche ich hauptsächlich über die Lösung dieses Problems. Die erste Möglichkeit besteht darin, die Klasse folgendermaßen hinzuzufügen: .router{ Schriftart: 12px/40px „Microsoft YaHei“; Hintergrund: rosa; Hintergrund: rosa; Farbe: weiß; Cursor: Zeiger; Textausrichtung: zentriert; Anzeige: Inline-Block; Breite: 40px; Hintergrund: rosa; &.istAktiv{ Hintergrund: blau; Farbe: rot; } } Die zweite Möglichkeit besteht darin, den Pfad zu überwachen: Der Originalcode lautet wie folgt: <Vorlage> <div id="Haupt"> <ul style="Höhe: 40px;Hintergrund: rosa;"> <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-Ansicht></Router-Ansicht> </div> </Vorlage> <Skript> Standard exportieren { Daten () { zurückkehren { aktivIndex2:'0', Artikel:[ {Name:'twoPage',Code:'twoPage',Pfad:'/twoPage',Standardsymbol:erforderlich('@/assets/icon/BehaviorRank-default.png'), activeIcon:erfordern('@/assets/icon/behaviorrank-active.png'),isActive:true}, {name:'drei',code:'drei',pfad:'/drei',defaultIcon:require('@/assets/icon/ChannelAllocation-default.png'), activeIcon:erfordern('@/assets/icon/ChannelAllocation-active.png'),isActive:false}, {name:'vier',code:'vier',pfad:'/vier',defaultIcon:erfordern('@/assets/icon/myReport-default.png'), activeIcon:erfordern('@/assets/icon/myReport-active.png'),isActive:false}, ], } }, Methoden:{ routerTo(Element,Index) { für (lass i = 0; i < this.items.length; i++) { this.items[i].isActive=false } this.items[index].isActive=true dies.$router.push({name:item.name}) }, } } </Skript> <style lang='less'> #hauptsächlich{ .router{ Schriftart: 12px/40px „Microsoft YaHei“; Hintergrund: rosa; Hintergrund: rosa; Farbe: weiß; Cursor: Zeiger; Textausrichtung: zentriert; Anzeige: Inline-Block; Breite: 40px; Hintergrund: rosa; } .istAktiv{ Hintergrund: blau; Farbe: rot; } } </Stil> Wirkung: Wenn Sie jedoch auf „Aktualisieren“ klicken, wird der hervorgehobene Index auf die Initialisierungsposition 0 gesetzt. So lösen Sie dieses Problem Eine Möglichkeit hierfür besteht darin, sessionStorage zwischenzuspeichern. Bei jedem Klick wird der Wert im Cache gespeichert und aktualisiert, um ihn aus der Variablen abzurufen. Wenn die Variable keinen Wert hat, wird der Wert aus dem Cache abgerufen. Manche Leute finden es jedoch möglicherweise mühsam, weiterhin Ein- und Auszahlungen vorzunehmen. Eine andere Möglichkeit besteht darin, die Route während der Initialisierung abzurufen und die entsprechende Navigation entsprechend den verschiedenen Routen zu aktivieren erstellt(){ // var path=window.location.hash.slice(2); //Dies ist auch akzeptabel, wenn kein Parameter vorhanden ist, wird aber nicht empfohlen var path=this.$route.name //Dies wird empfohlen console.log(path) if(Pfad){ für (lass i = 0; i < this.items.length; i++) { this.items[i].isActive=false } Schalter(Pfad){ Fall 'zweiSeiten': diese.items[0].isActive=true; brechen; Fall 'drei': diese.items[1].isActive=true; brechen; Fall 'vier': diese.items[2].isActive=true; brechen; } } }, Anhang: Vue klickt auf den spezifischen Code der aktuellen Route hervorheben Funktionsanzeige: Komponentencode: Fügen Sie „exact“ zum Etikett hinzu .router-link-active{ Hintergrund: rgba(255,255,255,0,8); Farbe: grau; } <Vorlage> <Navigation> <ul> <li> <router-link to="/" exact>Blog</router-link> <router-link to="/AddBlog" exact>Einen Blog schreiben</router-link> </li> </ul> </nav> </Vorlage> <Skript> Standard exportieren { Name: "bolgheader" } </Skript> <Stilbereich> ul{ Listenstiltyp: keiner; Textausrichtung: zentriert; Rand: 0; } li{ Anzeige: Inline-Block; Rand: 0 10px; } A{ Farbe: RGB (102, 119, 204); Textdekoration: keine; Polsterung: 12px; Rahmenradius: 5px; Schriftgröße: 20px; } nav{ Hintergrund: #eee; Polsterung: 30px 0; Rand unten: 40px; } .router-link-active{ Hintergrund: rgba(255,255,255,0,8); Farbe: grau; } </Stil> Zusammenfassen Dies ist das Ende dieses Artikels über die Lösung des Routenhervorhebungsproblems von Vue-Komponenten. Weitere relevante Inhalte zur Routenhervorhebung von Vue-Komponenten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So überprüfen Sie die Version des Kali Linux-Systems
>>: Grafisches Tutorial zur Installation und Konfiguration von MySQL Community Server 8.0.11
Vorwort Manchmal benötigen wir eine Floating-Effe...
Führen Sie den Befehl aus, um das Plugin postcss-...
Die verständlichste Erklärung des Genauigkeitspro...
1. Geben Sie die Konfigurationsdatei der Yum-Quel...
Fünf Verzögerungsmethoden für die MySQL-Zeitblind...
Windows cmd Telnet Format: Telnet-IP-Port Fall: T...
Wirkung html <div Klasse="sp-container&qu...
Derzeit werden fast alle großen Websites und Anwe...
Wir alle wissen, dass Docker-Container voneinande...
Beim Herunterfahren des MySQL-Servers können, abh...
MySQL ist ein relationales Datenbankverwaltungssy...
Überspringen Sie die Docker-Installationsschritte...
Jetzt unterstützt der 2016-Server den Multi-Site-...
Dieser Artikel stellt hauptsächlich den relevante...
VC6.0 ist tatsächlich zu alt VC6.0 ist ein Entwic...