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

Ausführliche Erklärung verschiedener binärer Objektbeziehungen in JavaScript

Inhaltsverzeichnis Vorwort Beziehungen zwischen v...

Zusammenfassung der XHTML-Anwendung im Webdesign-Studium

<br />Im Allgemeinen ist die Dateiorganisati...

Beispielcode und Methode zum Speichern von Arrays in MySQL

Beim Schreiben gespeicherter Prozeduren werden hä...

Probleme und Lösungen bei der Verwendung der jsx-Syntax in React-vscode

Problembeschreibung Nach der Installation des Plu...

Mehrere Möglichkeiten, Python-Programme im Linux-Hintergrund auszuführen

1. Die erste Methode besteht darin, den Befehl un...

So lösen Sie das Problem des verstümmelten DOS-Fensters in MySQL

Das Problem mit dem verstümmelten Code ist folgen...

Implementieren der Prioritätswarteschlange in JavaScript

Inhaltsverzeichnis 1. Einführung in die Priorität...

Probleme mit Vue, das die Homepage von Bibibili imitiert

Technische Struktur Das Projekt ist in zwei Teile...

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

Verwenden Sie in JavaScript die Methode removeAtt...

Detaillierte Erläuterung gängiger Methoden der Vue-Entwicklung

Inhaltsverzeichnis $nächsterTick() $forceUpdate()...