Detaillierte Erläuterung der Routing-Parameterübergabe und der komponentenübergreifenden Parameterübergabe in Vue

Detaillierte Erläuterung der Routing-Parameterübergabe und der komponentenübergreifenden Parameterübergabe in Vue

Routensprung

dies.$router.push('/kurs');
dies.$router.push({name: kurs});
dies.$router.go(-1);
dies.$router.go(1);
<router-link to="/course">Kursseite</router-link>
<router-link :to="{name: 'course'}">Kursseite</router-link>

Routing-Parameter

Methode 1

router.js

dies.$router.push('/kurs');
dies.$router.push({name: kurs});
dies.$router.go(-1);
dies.$router.go(1);
<router-link to="/course">Kursseite</router-link>
<router-link :to="{name: 'course'}">Kursseite</router-link>

Springen.vue

<Vorlage>
 <!-- Tag-Sprung -->
 <router-link :to="`/course/${course.id}/detail`">{{ kurs.name }}</router-link>
</Vorlage>
<Skript>
 // ...
 geheDetail() {
 //Logischer Sprung this.$router.push(`/course/${this.course.id}/detail`);
 }
</Skript>

Empfangen.vue

erstellt() {
 Lassen Sie die ID = this.$route.params.id;
}

Wenn Sie einen Routen-Match wie :id in den Routing-Pfad schreiben („:“ entspricht dem Backend-Match, „id“ entspricht dem Namen der benannten Gruppe).

Methode 2

router.js

erstellt() {
 Lassen Sie die ID = this.$route.params.id;
}

Springen.vue

<Vorlage>
 <!-- Tag-Sprung -->
 <Router-Link: zu="{
   Name: 'Kursdetail',
   Abfrage: {id: course.id}
  }">{{ kurs.name }}</router-link>
</Vorlage>
<Skript>
 // ...
 geheDetail() {
  //Logischer Sprung this.$router.push({
   Name: 'Kursdetail',
   Abfrage: {
    ID: diese.Kurs-ID
   }
  });
 }
</Skript>

Empfangen.vue

<Vorlage>
 <!-- Tag-Sprung -->
 <Router-Link: zu="{
   Name: 'Kursdetail',
   Abfrage: {id: course.id}
  }">{{ kurs.name }}</router-link>
</Vorlage>
<Skript>
 // ...
 geheDetail() {
  //Logischer Sprung this.$router.push({
   Name: 'Kursdetail',
   Abfrage: {
    ID: diese.Kurs-ID
   }
  });
 }
</Skript>

Vier Möglichkeiten zum Übergeben von Parametern zwischen Komponenten

// 1) localStorage: Daten dauerhaft speichern
// 2) sessionStorage: Temporäre Speicherung von Daten (Daten werden beim Aktualisieren der Seite nicht zurückgesetzt, werden aber beim Schließen und erneuten Öffnen des Tabs zurückgesetzt)
// 3) Cookie: Temporäre oder permanente Speicherung von Daten (bestimmt durch Ablaufzeit)
// 4) Vuex Warehouse (store.js): temporäre Speicherdaten (Seitenaktualisierung, Daten zurücksetzen)

Vuex Warehouse-Plugin

store.js-Konfigurationsdatei

exportiere standardmäßig neuen Vuex.Store({
 Zustand: {
  Titel: „Standardwert“
 },
 Mutationen:
  // Mutationen stellen Setter-Methoden für Attribute im Status bereit // Der Name der Setter-Methode ist beliebig, aber die Parameterliste ist auf zwei festgelegt: state, newValue
  setTitle(state, newValue) {
   Status.Titel = neuerWert;
  }
 },
 Aktionen: {}
})

Zuweisen von Werten zu Repository-Variablen in einer beliebigen Komponente

this.$store.state.title = 'newTitle' // Der erste Typ this.$store.commit('setTitle', 'newTitle') // Der zweite Typ

Der zweite Typ ist die in Mutationen bereitgestellte Setter-Methode. Obwohl diese Methode den Wert letztendlich an den Status übergibt, können wir in dieser Setter-Methode einige Validierungen und andere Beurteilungen schreiben.

Holen Sie sich den Wert der Lagervariable in einer beliebigen Komponente

Konsole.log(dies.$store.state.title)

Vue-Cookie-Plugin

Installieren

Konsole.log(dies.$store.state.title)

main.js-Konfiguration

// Der erste Typ importiert Cookies von „vue-cookies“ // Importiere Plugin Vue.use(cookies); // Lade Plugin new Vue({
 // ...
 cookies, //Konfigurieren mit dem Plugin-Prototyp $cookies
}).$mount('#app');

// Der zweite Typ importiert Cookies von „vue-cookies“ // Plugin importieren Vue.prototype.$cookies = cookies; // Plugin-Prototyp $cookies direkt konfigurieren

verwenden

// Hinzufügen (ändern): Schlüssel, Wert, exp (Ablaufzeit)
// 1 = '1s' | '1m' | '1h' | '1d'
dies.$cookies.set('token', token, '1y');

// Prüfen: Schlüssel
dieses.token = dieses.$cookies.get('token');

// löschen: Taste
dies.$cookies.remove('token');

Hinweis: Cookies werden grundsätzlich zum Speichern von Tokens verwendet.

// 1) Was ist ein Token: eine Zeichenfolge zur Sicherheitsauthentifizierung
// 2) Wer generiert es: generiert durch den Hintergrund
// 3) Wer speichert: Hintergrundspeicher (Sitzungstabelle, Datei, Speichercache), Front-End-Speicher (Cookie)
// 4) Verwendung: Der Server generiert eine Rückmeldung an die Rezeption (Anmeldeauthentifizierungsprozess), und die Rezeption übermittelt sie an die Backdesk, um die Authentifizierung abzuschließen (Anforderung nach der Anmeldung).
// 5) Projekt zur Trennung von Front-End und Back-End: Das Back-End generiert ein Token und gibt es an das Front-End zurück => das Front-End speichert es selbst und sendet eine Anfrage mit dem Token => das Back-End schließt die Token-Verifizierung ab => das Back-End erhält den angemeldeten Benutzer

(Wie oben erwähnt, kann die komponentenübergreifende Parameterübergabe auch mithilfe von Cookies erfolgen. Da in Cookies kein Standardwert festgelegt ist, ist der in der Ansichtsfunktion erhaltene Wert auch leer, wenn es sich um einen leeren Wert handelt. Daher müssen wir in der Ansichtsfunktion auch einen Standardwert festlegen und dann den von Cookies übergebenen Wert beurteilen. Wenn es sich nicht um einen leeren Wert handelt, ersetzen Sie den Standardwert damit und rendern Sie ihn dann.)

Axios-Plugin

Installieren

>: cnpm installiere Axios

main.js-Konfiguration

importiere axios von 'axios' // Plugin importieren Vue.prototype.$axios = axios; // Plugin-Prototyp $axios direkt konfigurieren

verwenden

dies.axios({
 url: 'Anforderungsschnittstelle',
 Methode: 'get|post request',
 Daten: {per Post übermittelte Daten usw.},
 Parameter: {übermittelte Daten abrufen}
}).then(Rückruffunktion für erfolgreiche Anfrage).catch(Rückruffunktion für fehlgeschlagene Anfrage)

Fall

// Anfrage abrufen this.$axios({
 URL: „http://127.0.0.1:8000/test/ajax/“,
 Methode: 'get',
 Parameter: {
  Benutzername: dieser.Benutzername
 }
}).dann(Funktion (Antwort) {
 console.log(Antwort)
}).catch(Funktion (Fehler) {
 console.log(Fehler)
});

// Anfrage posten this.$axios({
 URL: „http://127.0.0.1:8000/test/ajax/“,
 Methode: 'post',
 Daten: {
  Benutzername: dieser.Benutzername
 }
}).dann(Funktion (Antwort) {
 console.log(Antwort)
}).catch(Funktion (Fehler) {
 console.log(Fehler)
});

Domänenübergreifende Probleme (Same-Origin-Policy)

// Das Backend empfängt die Anfrage vom Vordergrund und kann die Vordergrunddaten und Anfrageinformationen empfangen. Es stellt fest, dass die angeforderten Informationen keine Anfrage von seinem eigenen Server sind, und weigert sich, auf die Daten zu antworten. Diese Situation wird als Cross-Domain-Problem bezeichnet (Same-Origin-Policy CORS).

// Es gibt drei Ursachen für domänenübergreifende Fehler // 1) Port-Inkonsistenz // 2) IP-Inkonsistenz // 3) Protokoll-Inkonsistenz // So lösen Sie das Problem mit Django - django-cors-headers-Modul // 1) Installation: pip3 install django-cors-headers
// 2) Anmeldung:
INSTALLED_APPS = [
 ...
 'Corsheader'
]
// 3) Middleware einrichten:
MIDDLEWARE = ​​​​[
 ...
 „corsheaders.middleware.CorsMiddleware“
]
// 4) Domänenübergreifend festlegen:
CORS_ORIGIN_ALLOW_ALL = Wahr

Element-UI-Plugin

Installieren

>: cnpm i element-ui -S

main.js-Konfiguration

importiere ElementUI von „element-ui“;
importiere „element-ui/lib/theme-chalk/index.css“;
Vue.use(ElementUI);

verwenden

Laut der offiziellen Website https://element.eleme.cn/#/zh-CN/component/installation api

Zusammenfassen

Dies ist das Ende dieses Artikels über die Routenparameterübergabe und die komponentenübergreifende Parameterübergabe in Vue. Weitere relevante Inhalte zur Vue-Routing- und komponentenübergreifenden Parameterübergabe finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vue: Dynamische Routing-Konfiguration und Routing-Parameter-Übergabemethode
  • Vue-Routing-Sprungparametermethode
  • Lösung für das Problem des Verlusts von Aktualisierungsparametern auf der Vue-Routing-Seite
  • 3 grundlegende Modi zur Übertragung von Vue-Routing-Parametern
  • Eine kurze Erläuterung der Methode zum Übergeben von Parametern beim Vue-Router-Routing
  • Zusammenfassung der grundlegenden Implementierungsmethoden zur Vue-Routing-Parameterübergabe [drei Methoden]
  • So übergeben Sie Parameter zwischen Vue-Router2.0-Komponenten und erhalten dynamische Parameter
  • Vue.js-Parameterübertragungsbeispiel zwischen übergeordneten und untergeordneten Komponenten

<<:  Bereitstellungsdokument für die Sicherheitseinstellungen des Win2008-Servers (empfohlen)

>>:  Tutorial zur Installation von MySQL 5.7.9 mit RPM-Paket unter CentOS 7

Artikel empfehlen

So verwenden Sie reguläre Ausdrucksabfragen in MySql

Reguläre Ausdrücke werden häufig verwendet, um Te...

Einführung in die Verwendung von Alt- und Titelattributen von HTML-Img-Tags

Wenn Browser-Anbieter die Standards umgehen und ei...

Der Unterschied zwischen HTML-Name-ID und Klasse_PowerNode Java Academy

Name Geben Sie einen Namen für das Tag an. Format...

So deinstallieren Sie MySQL vollständig unter CentOS

Dieser Artikel dokumentiert die vollständige Dein...

Fallstudie zur Implementierung eines jQuery Ajax-Chatbots

Chatbots können viel manuelle Arbeit sparen und i...

Erstellen einer verteilten Selenium-Umgebung basierend auf Docker

1. Laden Sie das Bild herunter Docker-Pull Seleni...

14 praktische Erfahrungen zur Reduzierung von SCSS-Code um 50 %

Vorwort Sass ist eine Erweiterung der CSS3-Sprach...

Beispiel für eine erzwungene Konvertierungsmethode für MySQL-Zeichenfolgen

Vorwort Da die Typen derselben Felder in den beid...

Schritte zur Vue-Batch-Update-DOM-Implementierung

Inhaltsverzeichnis Szeneneinführung Hohe Reaktion...

Fähigkeiten zur Erstellung von Webformularen

Tatsächlich haben die drei obigen Tabellen alle d...