Implementierung eines verschachtelten Sprungs der Vue-Routing-Ansicht Router-Ansicht

Implementierung eines verschachtelten Sprungs der Vue-Routing-Ansicht Router-Ansicht

Zweck:

Implementierte Funktionen: Erstellen Sie eine Anmeldeseite und springen Sie zur Startseite. Die Startseite umfasst eine Menüleiste, eine obere Navigationsleiste, einen Hauptteil und ein standardmäßiges Hintergrundformat für Webseiten. Klicken Sie auf verschiedene Menüs in der Menüleiste, um unterschiedliche Komponenten (verschiedene Seiten) anzuzeigen.

Um verschachtelte Weiterleitungen router-view zu konfigurieren, müssen Sie zwei Hauptseiten vorbereiten: eine ist die Anmeldeseite ( login.vue ), die von app.vue umgeleitet wird, und die andere ist die Homepage ( login.vue ), die von der Anmeldeseite ( index.vue ) umgeleitet wird. Darüber hinaus werden zwei weitere Seiten für den Menüsprung und die Anpassung des Seiteninhalts benötigt.

Ich verwende hier element-ui als Vorlage

Voraussetzung: Einführung von element-ui

Führen Sie den Befehl im Projektverzeichnis aus: npm i element-ui -s

Ändern Sie main.js und führen Sie die element ein

Schritt:

  • Erstellen Sie eine Anmeldeseite (login.vue)
  • Erstellen Sie eine Seite mit Hintergrundoperationen (index.vue).
  • Konfigurieren Sie den Menüsprung für die Hintergrundbetriebsseite
  • Konfigurieren Sie die verschachtelte Routing-Ansicht Routing-Steuerung Menü springen

1. Ändern Sie die app.vue-Seite

Platzieren Sie einfach ein router-view Tag auf der App-Seite, und jede Routenanforderung wird standardmäßig von hier aus gesprungen

<Vorlage>
  <div id="app">
    <Router-Ansicht></Router-Ansicht>
  </div>
</Vorlage>

<Skript>
Standard exportieren {
  Name: "App",
  Methoden: {
  }
}
</Skript>

<Stil>
</Stil>

2. Erstellen Sie eine Anmeldeseite (/views/login/login.vue)

Der Login-Button hier springt direkt zur Hauptseite und die aktuelle Login-Seite wird komplett ersetzt

Code der Anmeldeseite :point_down:

<Vorlage>
  <div id="Anmelden">
    <el-form>
      <el-row :gutter="20">
        <el-col Klasse="Titel" :offset="9" :span="6">
          <h1>Eine Anmeldeseite</h1>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col Klasse="col-label" :offset="7" :span="4">
          <span class="label">Konto:</span>
        </el-col>
        <el-col :span="4">
          <el-input type="text" placeholder="Bitte geben Sie Ihre Kontonummer ein" v-model="account.username"></el-input>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col Klasse="col-label" :offset="7" :span="4">
          <span class="label">Passwort:</span>
        </el-col>
        <el-col :span="4">
          <el-input type="password" placeholder="Bitte geben Sie Ihr Passwort ein" v-model="account.password"></el-input>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :offset="8" :span="8">
          <span>
            <a href="#" rel="external nofollow" rel="external nofollow" @click="register" >Konto registrieren</a>
            /
            <a href="#" rel="external nofollow" rel="external nofollow" @click="resetPwd" >Passwort zurücksetzen</a>
          </span>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :offset="10" :span="4">
          <el-button type="primary" round @click="onSubmit">Anmelden</el-button>
        </el-col>
      </el-row>
    </el-form>
  </div>
</Vorlage>

<Skript>
Standard exportieren {
  Name: 'Anmelden',
  Daten() {
    zurückkehren {
      Konto:
        Benutzername: '',
        Passwort: ''
      }
    }
  },
  Methoden: {
    registrieren() {
      diese.$nachricht({
        Meldung: 'Es scheint, dass es keine solche Funktion gibt',
        Typ: "Info"
      })
    },
    ZurücksetzenPwd() {
      diese.$nachricht({
        Nachricht: 'Nächstes Leben',
        Typ: "Erfolg"
      })
    },
    beim Absenden() {
      dies.$router.push('/index')
    }
  }
}
</Skript>

<Stilbereich>
  #Anmeldung {
    Textausrichtung: zentriert;
    Rand: 0 automatisch;
  }
  .Etikett {
    Höhe: 40px;
    Zeilenhöhe: 40px;
  }
  .Spaltenbezeichnung {
    Textausrichtung: rechts;
  }
  .el-Zeile {
    Rand oben: 15px;
  }
  .el-Schaltfläche {
    Breite: 120px;
  }
  .Titel {
    oberer Rand: 10 %;
  }
</Stil>

Code anzeigen

2.1. Anmeldeseiten-Routing in router/index.js hinzufügen

{
      Weg: '/',
      Name: 'Anmelden',
      Komponente: () => import('../views/login/login.vue')
},

3. Erstellen Sie die Hauptseite (/components/index.vue)

Die Hauptseite ist hauptsächlich in drei Teile unterteilt:左側菜單欄(el-menu),頂部導航欄(el-container ) und主體展示頁面(el-main ). Dieser Teil wird aus der Layoutcontainerinstanz in elment-ui (https://element.eleme.cn/#/zh-CN/component/container) kopiert.

<Vorlage>
  <el-container style="border: 1px durchgezogen #eee">
    <el-aside width="200px" style="Hintergrundfarbe: rgb(238, 241, 246)">
      <el-menu :default-openeds="['1']" :router="true">
        <el-Untermenü index="1">
          <template slot="title"><i class="el-icon-message"></i>Navigation 1</template>
          <el-Menüelementgruppe>
            <template slot="title">Gruppe 1</template>
            <el-menu-item index="1-1">Option 1</el-menu-item>
            <el-menu-item index="1-2">Option 2</el-menu-item>
          </el-Menüelementgruppe>
        </el-Untermenü>
      </el-Menü>
    </el-beiseite>

    <el-container Klasse="Tabelle-div">
      <el-header style="text-align: right; font-size: 12px">
        <el-Dropdown>
          <i class="el-icon-setting" style="margin-right: 15px"></i>
          <el-dropdown-menu slot="Dropdown">
            <el-dropdown-item>Anzeigen</el-dropdown-item>
            <el-dropdown-item>Neu</el-dropdown-item>
            <el-dropdown-item>Löschen</el-dropdown-item>
          </el-Dropdown-Menü>
        </el-dropdown>
        <span>Wang Xiaohu</span>
      </el-header>

      <el-main>
        <Tabelle></Tabelle>
      </el-main>
    </el-container>
  </el-container>
</Vorlage>

<Stil>
.el-header {
  Hintergrundfarbe: #B3C0D1;
  Farbe: #333;
  Zeilenhöhe: 60px;
}

.el-beiseite {
  Farbe: #333;
}
</Stil>

<Skript>
Standard exportieren {
  Name: "Index",
  Daten() {
  }
}
</Skript>

<Stil>
  .Tabelle-div {
    Breite: 100 %;
  }
  .el-Tabelle {
    Höhe: 100%;
  }
</Stil>

3.1. Erstellen Sie die Hauptseite-Route

{
      Pfad: '/index',
      Name: "Index",
      Komponente: () => import('@/Komponenten/Index')
}

An diesem Punkt ist die Vorgangskonfiguration für den Sprung von der Anmeldeseite zur Hauptseite abgeschlossen. Sehen Sie die Wirkung. Starten Sie das Projekt und besuchen Sie http://localhost:8080/#/

Klicken Sie hier, um sich anzumelden und zur Startseite zu springen

4. Ändern Sie die Homepage

Ändern Sie hauptsächlich zwei Teile: Menü-Sprungpfad, Hauptkonfigurations-Routing-Ansicht

4.1. Menü-Routing-Modus aktivieren und Menü-Sprungpfad ändern

Aktivieren Sie vue-router -Modus im el-menu -Menü und konfigurieren Sie die Seitenadresse, die im index el-menu-item Tags umgeleitet werden soll.

4.2. Router-Ansicht hinzufügen

Ersetzen Sie den Hauptinhalt direkt durch router-view -Tag und fügen Sie name Parameter hinzu. Ich verwende hier das table Tag. Das ist sehr wichtig. Die Route muss die Routenansicht angeben, zu der basierend auf diesem name gesprungen werden soll.

5. Zwei Unterseiten erstellen

Die Seite kann überall platziert werden, solange die Routing-Adresse richtig konfiguriert ist

Ich habe first-page.vue und first-table.vue erstellt (angepasster Seiteninhalt).

Konfigurieren Sie die Route in router/index.js . Fügen children der entsprechenden Routenkonfiguration für die Seite, auf der router-view Komponente hinzugefügt wird, untergeordnete Elemente hinzu. Ändern Sie hier die Konfiguration der index , fügen Sie children hinzu und konfigurieren Sie path , name und components (Beachten Sie, dass, wenn nur der Standard-Routenansichtssprung konfiguriert ist, der verwendete Parameter component ist und components verwendet wird, wenn mehrere Routenansichtssprünge konfiguriert werden.)

{
      Pfad: '/index',
      Name: "Index",
      component: () => import('@/components/index'), // Konfiguriere hier die Seitenkomponente für den Standardroutensprung der Startseite children: [ // Untergeordnete Routen hinzufügen {
          Pfad: 'Seite', // Hinweis: Setzen Sie vor dem Pfad kein /, sonst springt er nicht, ich habe hier einen Verlust erlitten Name: 'Seite',
          Komponenten: { // Beachten Sie, dass der Parametername s hat
            table: () => import('@/components/first-page') // Die Tabelle hier muss den gleichen Namen haben wie das Router-View-Tag auf der Startseite, damit die Routing-Ansicht auf der Startseite springt, siehe 3.2
          }
        },
        {
          Pfad: "Tabelle",
          Name: "Tabelle",
          Komponenten:
            Tabelle: () => import('@/Komponenten/erste-Tabelle')
          }
        }
      ]
}


Die so konfigurierten Zugriffsadressen lauten: localhost:8080/#/index/page, localhost:8080/#/index/table

Die Konfiguration ist hier abgeschlossen. Besuchen Sie die Seite, um sie zu testen.

Wie Sie sehen, ändern die beiden Menükonfigurationen die Hauptroutingansicht und steuern die in der Ansicht angezeigten Seitenkomponenten. Konfiguration abgeschlossen

Dies ist das Ende dieses Artikels über die Details des verschachtelten Sprungs der Vue-Routing-Ansicht Router-Ansicht. Weitere verwandte Inhalte zu verschachtelten Sprüngen der Vue-Routing-Ansicht Router-Ansicht finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, Sie werden 123WORDPRESS.COM in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des verschachtelten Routings im Vue-Router
  • vue.js Router verschachtelte Routen
  • Detaillierte Erläuterung des Vue-Routing-Routers
  • Detaillierte Erklärung der beiden Modi des Router-Routings in Vue: Hash und Verlauf
  • Detaillierte Erklärung des VueRouter-Routings
  • Detaillierte Erläuterung des Vue-Router-Routings

<<:  Verwenden Sie Docker, um einen Redis-Master-Slave-Replikationscluster zu erstellen

>>:  Einführung in das Hinzufügen neuer Benutzer zu MySql, das Erstellen von Datenbanken für Benutzer und das Zuweisen von Berechtigungen an Benutzer

Artikel empfehlen

Holen Sie sich die IP und den Hostnamen aller Hosts auf Zabbix

zabbix Zabbix ([`zæbiks]) ist eine Open-Source-Lö...

So lösen Sie das Problem des verstümmelten MySQL-Inserts

Problembeschreibung: Beim Einfügen chinesischer Z...

Detaillierte Erklärung asynchroner Iteratoren in nodejs

Inhaltsverzeichnis Vorwort Was sind asynchrone It...

Detaillierte Analyse des Linux-NFS-Mechanismus anhand von Fällen

In Fortsetzung des vorherigen Artikels erstellen ...

Erste Schritte mit Front-End-Vue-Unit-Tests

Inhaltsverzeichnis 1. Warum brauchen wir Unit-Tes...

Eine kurze Analyse von Patroni in Docker-Containern

Inhaltsverzeichnis Erstellen eines Images Dateist...

18 erstaunliche Verbindungen zwischen Interaktionsdesign und Psychologie

Designer müssen Psychologie verstehen, indem sie ...

Erste Schritte mit Nginx Reverse Proxy

Inhaltsverzeichnis Überblick Die Rolle des Revers...

Ausführliche Erklärung zur Docker-Maschine

Unterschiede zwischen Docker und Docker Machine D...

Bedeutung und Berechnungsmethode von QPS und TPS der MySQL-Datenbank

Bei DB-Benchmarktests sind QPS und TPS wichtige I...

Implementierung der Knotenverbindung zur MySQL-Abfragetransaktionsverarbeitung

Inhaltsverzeichnis Geben Sie das Thema MySQL ein:...