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

So verwenden Sie die Lotteriekomponente des WeChat Mini-Programms

Es wird in Form von WeChat-Komponenten bereitgest...

Beschreibung der Standardtransaktionsisolationsebene von MySQL und Oracle

1. Transaktionsmerkmale (ACID) (1) Atomarität. Di...

So installieren Sie den Kibana-Tokenizer im Docker-Container

Schritt: 1. Erstellen Sie eine neue Datei docker-...

Python3.6-MySql Dateipfad einfügen, die Lösung zum Entfernen des Backslashs

Wie unten dargestellt: Ersetzen Sie es einfach, w...

Wissen Sie, wie viele Verbindungen ein Linux-Server verarbeiten kann?

Vorwort Sehen wir uns zunächst an, wie eine TCP-V...

Lösung für den Konflikt zwischen Nginx und Backend-Port

Frage: Bei der Entwicklung des Alice-Verwaltungss...

So ändern Sie schnell das Hostattribut eines MySQL-Benutzers

Wenn Sie sich remote bei MySQL anmelden, gelten f...

Vue-Elternkomponente ruft Funktionsimplementierung der Unterkomponente auf

Die übergeordnete Vue-Komponente ruft die Funktio...

MySQL 5.6.28 Installations- und Konfigurations-Tutorial unter Linux (Ubuntu)

mysql5.6.28 Installations- und Konfigurationsmeth...

Erläuterung des Beispiels für die automatische Anmeldung unter Linux

Es gibt viele Skripte im Internet, die expect ver...

Analyse des Consul-Konfigurationsprozesses für die Docker-Bereitstellung

Befehl ausführen docker run -d --name consul -p 8...

Detaillierte Erläuterung der Vue Simple Notepad-Entwicklung

In diesem Artikelbeispiel wird der spezifische Co...

Designtheorie: Zehn Tipps zur Inhaltspräsentation

<br /> Der Entwurf einer persönlichen Schrei...