Wenn wir eine Single-Page-Anwendung entwickeln, müssen wir manchmal eine bestimmte Route eingeben und Daten basierend auf Parametern vom Server abrufen. Dann müssen wir zuerst die von der Route übergebenen Parameter abrufen, um die Serveranforderung abzuschließen. Daher müssen wir mehrere Möglichkeiten verstehen, Parameter über die Route zu übergeben. Die folgenden Methoden sind dieselben wie bei Programmatische Routing-Parameter Zusätzlich zur Verwendung 1. Parameter weitergebenRouting-Konfiguration Pfadparameter werden durch einen Doppelpunkt const Routen = [ // Dynamische Abschnitte beginnen mit einem Doppelpunkt { path: 'details/:id', name: "details", component: Details }, ] Der Parameter const Home = { Vorlage: '<div @click="toDetails">Zu Details</div>', Methoden: zuDetails() { // String-Pfad this.$router.push('/details/001') // Objekt mit Pfad this.$router.push({path: '/details/001'}) // Benennen Sie die Route. Beim Konfigurieren der Route ist das Namensfeld erforderlich this.$router.push({ name: 'details', params: { id: '001' } }) } } } Beachten Sie, dass // `params` kann nicht mit `path` verwendet werden router.push({ path: '/details', params: { id: '001' } }) // -> /details Komponenten erhalten Daten Wenn eine Route übereinstimmt, wird der Wert ihrer Parameter in jeder Komponente als const Details = { Vorlage: '<div>Details {{ $route.params.id }} </div>', erstellt() { // Auf Routenänderungen warten this.$watch( () => diese.$route.params, (zuParams, vorherigeParams) => { // Auf Routenänderungen reagieren... } ) }, } 2. Abfrage durchgehen In diesem Fall werden die von Routing-Konfiguration Bei Verwendung von dies.$router.push('/details/001?kind=car') this.$router.push({ Pfad: '/details/001', Abfrage: { Art: "Auto" }}) this.$router.push({ Name: 'details', Parameter: { ID: '001' }, Abfrage: { Art: 'Auto' }}) Komponenten erhalten Daten Komponenten werden über const Details = { Vorlage: '<div>Details {{ $route.query.kind }} </div>', erstellt() { // Auf Routenänderungen warten this.$watch( () => diese.$route.query, (zuParams, vorherigeParams) => { // Auf Routenänderungen reagieren... } ) }, } Um auf Parameteränderungen innerhalb derselben Komponente zu reagieren, können Sie einfach eine beliebige Eigenschaft des 3. Weitergabe per Hash Auf diese Weise enthält der URL-Pfad Routing-Konfiguration Bei Verwendung von dies.$router.push('/details/001#car') dies.$router.push({ Pfad: '/details/001', Hash: '#car'}) dies.$router.push({ Name: 'details', Parameter: { ID: '001' }, Hash: 'Auto'}) Komponenten erhalten Daten Die Komponente wird über const Details = { Vorlage: '<div>Details {{ $route.hash.slice(1) }} </div>', } Übergabe über Requisiten Die Verwendung von Verwenden Sie 1. Boolescher Modus Wenn Der folgende Code ruft beispielsweise die dynamische Feld const Benutzer = { Vorlage: '<div>Benutzer {{ $route.params.id }}</div>' } const routes = [{ path: '/user/:id', component: Benutzer }] Ersetzen Sie den obigen Code durch const Benutzer = { props: ['id'], // ID über Props in der Komponente abrufen Vorlage: '<div>Benutzer {{ id }}</div>' } // Fügen Sie in der Routing-Konfiguration das Feld „props“ hinzu und setzen Sie den Wert auf „true“ const routes = [{ path: '/user/:id', component: Benutzer, props: true }] Hinweis: Für Routen mit benannten Ansichten müssen Sie für jede benannte Ansicht const Routen = [ { Pfad: '/user/:id', Komponenten: { Standard: Benutzer, Seitenleiste: Seitenleiste }, // Requisiten für den Benutzer bereitstellen Requisiten: { Standard: true, Seitenleiste: false } } ] 2. Objektmodus Wenn es sich Routing-Konfiguration const Routen = [ { Pfad: '/hallo', Komponente: Hallo, Requisiten: { Name: 'Welt' } } ] Daten in Komponente abrufen const Hallo = { Requisiten: { Name: { Typ: Zeichenfolge, Standard: „Vue“ } }, Vorlage: '<div> Hallo {{ name }}</div>' } Die Komponente 3. Funktionsmodus Sie können eine Funktion erstellen, die Props zurückgibt. Dadurch können Sie Parameter in andere Typen konvertieren, statische Werte mit routenbasierten Werten kombinieren und vieles mehr. Routing-Konfiguration Wenn Sie den Funktionsmodus verwenden, erhält die Funktion, die Props zurückgibt, // Erstellen Sie eine Funktion, die Props zurückgibt const dynamicPropsFn = (route) => { return { Name: route.query.say + "!" } } const Routen = [ { Pfad: '/hallo', Komponente: Hallo, Requisiten: dynamicPropsFn } ] Komponenten erhalten Daten Wenn die URL const Hallo = { Requisiten: { Name: { Typ: Zeichenfolge, Standard: „Vue“ } }, Vorlage: '<div> Hallo {{ name }}</div>' } An diesem Punkt wird die Seite gerendert: Hinweis: Halten Sie die Andere Wege1. Durch Vuex gehen 1. Speicherstatus speichern; 2. Durch lokalen Front-End-Speicher und andere Methoden 1. Lokaler Speicher; Damit ist dieser Artikel über 8 Möglichkeiten zum Übergeben von Parametern in Vue-Routingkomponenten abgeschlossen. Weitere Informationen zum Übergeben von Parametern in Vue-Routingkomponenten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.5
>>: Docker nginx Beispielmethode zum Bereitstellen mehrerer Projekte
Überblick Ich glaube, dass wir häufig auf solche ...
1. So verwenden Sie den Link: Code kopieren Der Co...
Lösung für das Problem, dass das Ubuntu-Dualsyste...
Vorwort Das ursprüngliche Projekt wurde im öffent...
MySQL-Mehrtabellenabfrage (kartesisches Produktpr...
Das Implementierungsprinzip der Kettenprogrammier...
Privot ist die Zwischentabelle von Viele-zu-viele...
In diesem Artikel wird der spezifische Code für J...
Inhaltsverzeichnis 1. Browserunterstützung 2. Exp...
Elasticsearch erfreut sich derzeit großer Beliebt...
Bei DB-Benchmarktests sind QPS und TPS wichtige I...
Viele Leute sagen, dass IE6 PNG-Transparenz nicht...
Inhaltsverzeichnis Über Kubernetes Grundlegende U...
Bei den vielen Projekten, an denen ich mitgearbei...
Betriebssystem: Windows 10 MySQL-Version: 8.0.13-...