Vue implementiert die Anzeige und Ausblendung der dreistufigen Navigation

Vue implementiert die Anzeige und Ausblendung der dreistufigen Navigation

In diesem Artikelbeispiel wird der spezifische Code von Vue zur Realisierung der Anzeige und Ausblendung der dreistufigen Navigation zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Anforderungsbeschreibung:

Um das Ein- und Ausblenden der dreistufigen Navigation der Seitenleiste zu realisieren. Klicken Sie auf eine der primären Navigationen, um die sekundäre Navigation dieser primären Navigation anzuzeigen, und klicken Sie dann auf , um diese sekundäre Navigation zu schließen. Erweitern Sie für andere Elemente in der primären Navigation die sekundäre Navigation. Schließt die sekundäre Navigation anderer primärer Navigationen.

Die Wirkung ist wie folgt:

Code:

<Vorlage>
  <div id="app">
    <img alt="Vue-Logo" src="./assets/logo.png" />
    <HelloWorld msg="Willkommen bei Ihrer Vue.js-App" />
    <div Klasse="Erste" v-for="(Element, Schlüssel) in navLists" :Schlüssel="Schlüssel">
      <li>
        <span @click="handleClick(key)"> {{ item.title }}</span>
        <div
          v-for="(Element2, Schlüssel2) in Element.Kind"
          :Schlüssel="Schlüssel2"
          Klasse="zweite"
          v-show="show2 && currIndex == Schlüssel"
        >
          <p @click="zweiterKlick(Taste2)">{{ item2.Untertitel }}</p>
          <div
            v-for="(Element3, Schlüssel3) in Element2.dreiKind"
            :Schlüssel="Schlüssel3"
            Klasse="drei"
           v-show="show3 && aktuellerIndex2 == Schlüssel2"
          >
            {{ item3.threeTitle }}
          </div>
        </div>
      </li>
    </div>
  </div>
</Vorlage>
 
<Skript>
importiere HelloWorld aus "./components/HelloWorld.vue";
 
Standard exportieren {
  Name: "App",
  Komponenten:
    Hallo Welt,
  },
  Daten() {
    zurückkehren {
      ich: 0,
 
      show3: falsch,
      show2: falsch,
      Navigationslisten: [
        {
          Titel: "Projektinformationen",
          Kind: [
            {
              Untertitel: "Projektvorstellung",
              esubTitle: "#ProjektEinführung",
              dreiKind: [
                { threeTitle: "Drei-Ebenen-Navigation" },
                { threeTitle: "Drei-Ebenen-Navigation" },
                { threeTitle: "Drei-Ebenen-Navigation" },
              ],
            },
            {
              Untertitel: „Beispielinformationen“,
              dreiKind: [
                { threeTitle: "Dritte Ebene Navigation 22" },
                { threeTitle: "Dritte Ebene Navigation 22" },
                { threeTitle: "Dritte Ebene Navigation 22" },
              ],
            },
 
            {
              Untertitel: „Beispielinformationen“,
              dreiKind: [
                { threeTitle: "Dritte Ebene Navigation 33" },
                { threeTitle: "Dritte Ebene Navigation 33" },
                { threeTitle: "Dritte Ebene Navigation 33" },
              ],
            },
          ],
        },
        {
          Titel: "Projektinformationen 2",
          Kind: [
            {
              Untertitel: "Projekteinführung 22",
              dreiKind: [
                { threeTitle: "Drei-Ebenen-Navigation 44" },
                { threeTitle: "Level 3 Anleitung 44" },
                { threeTitle: "Dritte Ebene Navigation 22" },
              ],
            },
            {
              Untertitel: "Beispielinformationen 22",
            },
          ],
        },
        {
          Titel: "Projektinformation 3",
          eTitel: "#Projektnachricht",
          Kind: [
            {
              Untertitel: "Projekteinführung 33",
              esubTitle: "#ProjektEinführung",
            },
            {
              Untertitel: "Beispielinformationen 33",
              esubTitle: "#Beispielinformation",
            },
          ],
        },
        {
          Titel: "Projektinformationen 2",
          Kind: [
            {
              Untertitel: "Projekteinführung 22",
            },
            {
              Untertitel: "Beispielinformationen 22",
            },
          ],
        },
        {
          Titel: "Projektinformation 3",
          Kind: [
            {
              Untertitel: "Projekteinführung 33",
            },
            {
              Untertitel: "Beispielinformationen 33",
            },
          ],
        },
      ],
 
      currIndex: "", //Aktueller Index spanIndex: [], //Array indizieren arrIndex: "", //Wird verwendet, um zu bestimmen, ob der aktuelle Index durch Indizierung des Arrays gefunden werden soll. -1 bedeutet nicht gefunden, 0 bedeutet gefunden.
 
      currIndex2: "", //Aktueller Index der sekundären Navigation spanIndex2: [], //Array indexieren arrIndex2: "", //Wird verwendet, um zu bestimmen, ob der aktuelle Index durch Indizierung des Arrays gefunden werden soll. -1 bedeutet nicht gefunden, 0 bedeutet gefunden.
    };
  },
  Methoden: {
    handleKlick(index) {
      // Initialisieren Sie die Navigation der dritten Ebene, die standardmäßig nicht angezeigt wird.
      dies.show3 =false;
      dies.spanIndex2.splice(-1, 1);
 
      // Aktueller Index = Index
      dies.currIndex = Index;
      console.log("aktueller Index", Index);
      // Bestimmen Sie, ob der aktuelle Index im Index-Array spanIndex enthalten ist. Es gibt nur zwei mögliche Werte für arrIndex: -1 nicht gefunden. 0 gefunden.
      dies.arrIndex = dies.spanIndex.indexOf(index);
      Konsole.log("arrIndex", dieser.arrIndex);
 
      wenn (this.arrIndex == 0) {
        //arrIndex == 0, der Index wurde gefunden, lösche den Index im Index-Array spanIndex und verstecke die sekundäre Navigation.
        dies.spanIndex.splice(dies.arrIndex, 1);
        dies.show2 = falsch;
      } anders {
        // arrIndex ==-1, nicht gefunden, splice(-1,1) löscht 1 Wert vom Ende des spanIndex-Arrays und fügt den aktuellen Index zum Index-Array spanIndex hinzu, show2 ist wahr, zeigt die sekundäre Navigation an,
        dies.spanIndex.splice(dies.arrIndex, 1);
        dies.spanIndex.push(index);
        dies.show2 = wahr;
      }
      
      console.log("Index-Array", this.spanIndex);
    },
 
    zweiterKlick(index) {
      konsole.log(index);
      // Aktueller Index = Index
      dies.currIndex2 = Index;
      // Bestimmen Sie, ob der aktuelle Index im Index-Array spanIndex enthalten ist. Es gibt nur zwei mögliche Werte für arrIndex: -1 nicht gefunden. 0 gefunden.
      dies.arrIndex2 = dies.spanIndex2.indexOf(index);
      console.log("arrIndex2", this.arrIndex2);
 
      wenn (this.arrIndex2 == 0) {
        //arrIndex == 0, der Index wurde gefunden, lösche den Index im Index-Array spanIndex und verstecke die sekundäre Navigation.
        dies.spanIndex2.splice(dies.arrIndex2, 1);
        this.show3 = falsch;
      } anders {
        // arrIndex ==-1, nicht gefunden, splice(-1,1) löscht 1 Wert vom Ende des spanIndex-Arrays und fügt den aktuellen Index zum Index-Array spanIndex hinzu, show2 ist wahr, zeigt die sekundäre Navigation an,
        dies.spanIndex2.splice(dies.arrIndex2, 1);
        dies.spanIndex2.push(index);
        dies.show3 = wahr;
      }
       console.log("Index-Array 2", this.spanIndex2);
    },
  },
};
</Skript>
 
<Stil>
P {
  Polsterung: 5px 0;
  Randblock-Start: 0;
  Randblockende: 0;
}
#app {
  Schriftfamilie: Avenir, Helvetica, Arial, serifenlos;
  -webkit-font-smoothing: Kantenglättung;
  -moz-osx-font-smoothing: Graustufen;
  Textausrichtung: zentriert;
  Farbe: #2c3e50;
  Rand oben: 60px;
}
.Erste {
  Breite: 200px;
  Schriftgröße: 24px;
  Schriftstärke: fett;
  /* Höhe: 60px; */
  /* Hintergrund:rot; */
}
.erster:hover {
  Cursor: Zeiger;
 
  /* Farbe: rot; */
}
.zweite {
  Schriftgröße: 18px;
  Schriftstärke: normal;
  Hintergrund: #eee;
  Rand links: 50px;
}
.drei {
  Hintergrund: gelb;
  Rand links: 20px;
  Schriftgröße: 14px;
}
</Stil>

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Implementieren Sie die Funktion zum Ausblenden der Navigationsleiste auf einigen Routing-Seiten in Vue
  • Beispielcode für die Funktion zum Ausblenden und Anzeigen der Vue-Routing-Meta-Set-Navigation
  • Analyse der Vue-Methode zum dynamischen Anzeigen und Ausblenden der unteren Navigation

<<:  Wenn Navicat eine Verbindung zu MySQL herstellt, meldet es 10060, 1045 Fehler und den Speicherort von my.ini

>>:  Anmeldevorgang für das Python Flask WeChat-Applet und Implementierungscode der Anmelde-API

Artikel empfehlen

N Möglichkeiten, Elemente mit CSS zu zentrieren

Inhaltsverzeichnis Vorwort Zentrieren von Inline-...

Ausführliche Erläuterung des globalen Status des WeChat-Applets

Vorwort Im WeChat-Applet können Sie globalData vo...

So ermitteln Sie die Ausführungszeit eines Befehls oder Prozesses in Linux

Auf Unix-ähnlichen Systemen wissen Sie möglicherw...

Detaillierte Erklärung der API in Vue.js, die leicht zu übersehen ist

Inhaltsverzeichnis nächstesTick Syntaxvereinfachu...

So implementieren Sie ein Glücksradspiel im WeChat-Applet

Ich stelle hauptsächlich vor, wie man im WeChat-A...

Detaillierte Erklärung zu JavaScript Anti-Shake und Throttling

Inhaltsverzeichnis Entprellen Gaspedal Zusammenfa...

Unbekannte Verwendung von Object.entries in JavaScript

Inhaltsverzeichnis Vorwort 1. Verwenden Sie for.....

Docker ermöglicht mehrere Port-Mapping-Befehle

wie folgt: docker run -d -p 5000:23 -p 5001:22 --...

Linux: Kein Speicherplatz mehr auf Gerät 500 – Fehler aufgrund voller Inodes

Was ist ein Inode? Um Inode zu verstehen, müssen ...

Warum MySQL die Verwendung von Nullspalten mit Standardwerten nicht empfiehlt

Die Antwort, die Sie oft hören, ist, dass die Ver...

Codebeispiele für allgemeine Docker-Datenvolumenvorgänge

Wenn der Entwickler Dockerfile zum Erstellen des ...