Vue implementiert rekursiv ein dreistufiges Menü

Vue implementiert rekursiv ein dreistufiges Menü

In diesem Artikelbeispiel wird der spezifische Code der rekursiven Implementierung des dreistufigen Menüs durch Vue zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Übergeordnete Komponente

<Vorlage>
    <div Klasse="Menüebene-Menü Menüebene-Menü-Eingabe" v-if="showLevelMenu">
      <Menüelement Klasse="Menüelement" :menuDate="Menüliste"></Menüelement>
    </div>
</Vorlage>

Unterkomponenten

<Vorlage>
  <div>
    <div Klasse="" v-for="(Menü, Index) in MenüDatum" :Schlüssel="Index">
    // Jedes Menüelement <div class="menu-row" @click="menuSpread(menu)"
           :Klasse="[{'menu-row-selected': menu.selected && menu.children.length <= 0}]">
        <div Klasse="Menüzeile links">
          <div Klasse = "Menüzeile-links-Linie" :Klasse = "[{'Menü-ausgewählt': Menü.ausgewählt && Menü.Kinder.Länge <= 0}]"></div>
          <i class="iconfont" :class="[menu.menuIcon, {'color-icon': showIconColor(menu)}]"></i>
        </div>
        <div Klasse="Menüzeile rechts">
          <span :class="[{'font-16': menu.level === '0'}]">{{menu.menuName}}</span>
          <i class="c" v-if="menu.children.length <= 0"></i>
          <i class="iconfont icon-liebiaoxiala" v-if="menu.children.length>0 && !menu.selected"></i>
          <i class="iconfont icon-liebiaoshouqi" v-if="menu.children.length>0 && menu.selected"></i>
        </div>
      </div>
      // Menü rekursiv anzeigen <menu-item v-show="menu.selected" v-if="menu.children.length>0" :menuDate="menu.children"></menu-item>
    </div>
  </div>
</Vorlage>
<Skript>
  Standard exportieren {
    Requisiten: {
      MenüDatum: Array
    },
    Name: 'Menüelement',
    Methoden: {
      menuSpread (Menü) {
        wenn (menu.menuRouter) dies.$router.push(menu.menuRouter);
        Menü.ausgewählt = !Menü.ausgewählt;
        dies.rekursion(dieses.menuDate, menü);
      },
      Rekursion (alle, temp) {
        alle.fürJedes(Element => {
          wenn (item.menüname !== temp.menüname) {
            Element.ausgewählt = falsch;
            dies.rekursion(item.children, temp);
          }
        });
      },
      showIconColor (Menü) {
        lass zeigen = falsch;
        wenn (Menüebene === '0') {
          menu.children.forEach(item => {
            wenn (Artikel.Kinder.Länge <= 0 && Artikel.ausgewählt) {
              zeigen = wahr;
            }
            wenn (Element.Kinder.Länge > 0) {
              item.children.forEach(item => {
                wenn (Element.ausgewählt) {
                  zeigen = wahr;
                }
              });
            }
          });
        }
        Rückgabeshow;
      }
    }
  };
</Skript>

Rendern

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:
  • Vue + Element verwendet dynamisches Laderouting, um den Vorgang zum Anzeigen der dreistufigen Menüseite zu implementieren
  • Vue.js realisiert den dreistufigen Menüeffekt
  • Vue implementiert das Berechtigungssystem zur Hintergrundverwaltung und die dreistufige Menüanzeigefunktion der oberen Leiste
  • So ändern Sie das sekundäre Menü des Vue iview-admin-Frameworks in das Menü der dritten Ebene
  • Die Verknüpfungsmethode zwischen Menü und Registerkarte von vue+iview
  • Vue implementiert den Implementierungscode für die linke und rechte Menüverknüpfung
  • Vue realisiert eine dreistufige Verknüpfung der Städteauswahl basierend auf Mint-UI
  • Detaillierte Erläuterung von Vue, Element-UI und Axios zur Erreichung einer dreistufigen Verknüpfung zwischen Provinzen, Städten und Bezirken
  • Beispiel, wie vue + elementUI eine dreistufige Verknüpfung zwischen Provinzen, Städten und Landkreisen erreichen kann
  • Vue implementiert ein dynamisches Menü mit dreistufiger Verknüpfung

<<:  Docker stellt Laravel-Anwendung bereit, um Warteschlangen- und Aufgabenplanung zu realisieren

>>:  Grafisches Tutorial zur Installation des MySQL 5.7.21 Installers unter Windows 10

Artikel empfehlen

JavaScript implementiert eine Seiten-Scrolling-Animation

Inhaltsverzeichnis Erstellen eines Layouts CSS-St...

Ausführliche Erläuterung zum MySQL-Lernen einer Datenbanksicherung

Inhaltsverzeichnis 1.DB, DBMS, SQL 2. Eigenschaft...

Installations-Tutorial für die Zip-Version von MySQL 5.7.18

Die MySQL 5.7.18 Zip-Version von MySQL ist nicht ...

Eine Analyse von Div+Float, einem sehr wichtigen Konzept im Website-Design

Beim Erstellen einer Website treten immer wieder P...

So installieren Sie Docker mithilfe von Skripten unter Linux Centos

Was ist die Hauptfunktion von Docker? Derzeit gib...

Ändern Sie die Startzeit von Grub in Ubuntu

Die Online-Suche zum Ändern der Grub-Startzeit be...

js zur Implementierung eines einfachen Bullet-Screen-Systems

In diesem Artikel wird der spezifische Code von n...

Prinzipanalyse des UDP-Verbindungsobjekts und Anwendungsbeispiele

Ich habe zuvor zum Einstieg in UDP ein einfaches ...

jQuery implementiert die Registrierungsseite zur Mitarbeiterverwaltung

In diesem Artikelbeispiel wird der spezifische Co...

Tiefgreifendes Verständnis des Ereignisausführungsmechanismus von JavaScript

Inhaltsverzeichnis Vorwort Das Prinzip der asynch...