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

So richten Sie geplante Sicherungsaufgaben in Linux CentOS ein

Implementierungsvorbereitung # Der Dateipfad muss...

So machen Sie React-Komponenten im Vollbildmodus

einführen Dieser Artikel basiert auf React + antd...

Analyse der Linux-Bootsystemmethoden

Dieser Artikel beschreibt, wie man das Linux-Syst...

Grundlegende Hinweise zu HTML (empfohlen)

1. Grundstruktur der Webseite: XML/HTML-CodeInhal...

Vue implementiert Buchverwaltungsfall

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung der Fallstricke von MySQL 8.0

Ich habe heute MySQL 8.0 aktualisiert. Das erste ...

Analyse der Docker-Methode zum Erstellen lokaler Images

Der sogenannte Container erstellt tatsächlich ein...

Detaillierte Erklärung des MySQL-Ausführungsplans

Die EXPLAIN-Anweisung liefert Informationen darüb...

JS removeAttribute()-Methode zum Löschen eines Attributs eines Elements

Verwenden Sie in JavaScript die Methode removeAtt...

Probleme und Vorsichtsmaßnahmen beim Festlegen von maxPostSize für Tomcat

1. Warum maxPostSize festlegen? Der Tomcat-Contai...