Beispiel für die Implementierung der Wertübertragung zwischen WeChat-Miniprogrammseiten

Beispiel für die Implementierung der Wertübertragung zwischen WeChat-Miniprogrammseiten

Übergeben von Werten zwischen Miniprogrammseiten

Guten Abend allerseits. Ich sage guten Abend, weil ich dies nachts geschrieben habe. Ich sage dies, weil der Anfang dieses Satzes nicht so plötzlich ist. Was die Wertweitergabe zwischen den Seiten des Miniprogramms angeht, habe ich sie während meiner Verwendung sehr subjektiv in wx.navigateTo und nicht-wx.navigateTo unterteilt, da wx.navigateTo einen Ereignisparameter event hat. Ich springe von der aktuellen Seite zur nächsten Seite. Wenn ich zurückkehren muss, verwende ich wx.navigateTo. Die Funktion dieses Ereignisses besteht darin, die von der nächsten Seite zurückgegebenen Parameter zu empfangen. So was:

index.js

wx.navigateTo({
  URL: URL,
  Ereignisse: {
    // Fügen Sie einen Listener für das angegebene Ereignis hinzu, um die von der geöffneten Seite an die aktuelle Seite gesendeten Daten abzurufen. acceptDataFromOpenedPage: (Daten) => { // Diese Methode ist zufällig benannt, es gibt nicht viele Anforderungen, aber der erste Parameter der Ausgabe der geöffneten Seite sollte der Methodenname console.log('sour bean buns thrown from next door', Daten) sein.
    },
  },
  Erfolg: Funktion (res) {
    // Daten über eventChannel an die geöffnete Seite senden // res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
  }
})

gebi.js

// Auswahl bestätigen confirm() {
  const eventChannel = this.getOpenerEventChannel() // Dies sollte WeChats eigene Methode sein, verwenden Sie sie einfach, es ist OK eventChannel.emit('acceptDataFromOpenedPage', data) // Der Name der Methode, die Parameter im vorherigen Seitenereignis empfängt wx.navigateBack() // Zurück zur vorherigen Seite }

Diese beiden Vorgänge schließen die Wertübertragung der übergeordneten und untergeordneten Komponente ähnlich wie bei vue2.x ab, und die Ausgabe ist genau dieselbe.

Wie wird der Wert an die nächste Seite weitergegeben? Wenn Store und Storage nicht verwendet werden, können Sie die Methode mit Parametern nach der URL oder dem Erfolgsrückruf von wx.navigateTo oben verwenden. Obwohl ich den Erfolgsrückruf nicht verwendet habe, habe ich nach näherer Betrachtung das Gefühl, dass er der Art und Weise sehr ähnlich ist, wie der Haupt- und der untergeordnete Thread Daten empfangen, wenn ich Webworker verwende, um Werte an den untergeordneten Thread zu übergeben, und der untergeordnete Thread Werte an den Haupt-Thread übergibt. Einfach ausgedrückt, ich denke, es ist „Überwachung“ (addeventlistener) (0o-_^o)
Ich möchte hier erwähnen, dass dem URL-Pfad beim Springen ein / vorangestellt wird, das ist alles.

wx.navigateTo({
  URL: '/Seiten/Index/Index'
})

URL-Wert-Übertragung des Miniprogramms

Die URL-Wertübergabe des Miniprogramms ist dieselbe wie bei unseren normalen Routing-Parametern, auf die beide ein Fragezeichen (?) und ein Et-Zeichen (&) folgen, sie ist jedoch in die Datenwertübergabe des Basistyps und die Datenwertübergabe des Referenztyps unterteilt. Die häufigsten sind die folgenden:

wx.navigateTo({
  URL: '/pages/index/index?page=/pages/home/home&id=0077FF'
})

Ja, richtig gelesen, man kann einen Wert wie '/pages/home/home' übergeben. Andere Sonderzeichen sollten konvertiert werden, aber das habe ich nicht ausprobiert.

URL-Übertragungsobjekt des Applets

Wenn Sie ein Objekt oder Array übergeben:

Übertragung: Zuerst in Zeichenfolge konvertieren, dann kodieren.

Empfangen: Zuerst dekodieren, dann das Objekt konvertieren.

Daten = {
	Name: 'Kleine Stadt',
  Typ: ‚Rindfleisch-Fadennudeln‘
}
wx.navigateTo({
  URL: `/pages/index/index?page=/pages/home/home&params=${encodeURIComponent(JSON.stringify(data))}`
})
onLoad (Optionen) {
	const {page} = Optionen;
	const params = JSON.parse(decodeURIComponent(options.params))
}

Naja, dann breitet es einfach so aus, es ist nichts falsch daran.

Shop erwähnen

Ich verwende in diesem Projekt Mobx. Die in Mobx erhaltenen Array-Daten werden sehr seltsam. Die Lösung ist unbekannt. Es gibt eine toJS()-Methode in mobx, verwenden Sie sie einfach.

importiere { toJS } von „mobx-miniprogram“;
let-Wert = toJS(xxxx)

Drehsprung

Was die Sprünge betrifft, werden sie auf der offiziellen Website des Miniprogramms sehr deutlich erklärt, deshalb werde ich hier eine Tabelle erstellen.

wx.navigateTo Springen Sie zu einer Seite und kehren Sie zurück. Der Seitenstapel kann bis zu 10 Ebenen umfassen. Die interne Ereignismethode kann die von der nächsten Seite zurückgegebenen Daten abrufen.
wx.navigateZurück Zurück zur vorherigen Seite oder zu mehreren Seiten, getCurrentPages (ich habe es noch nie verwendet, ich verwende einfach wx.navigateBack()), um den aktuellen Seitenstapel abzurufen
wx.reLaunch Alle Seiten schließen und direkt zu einer bestimmten Seite springen
wx.umleitungZu Aktuelle Seite schließen und direkt zu einer bestimmten Seite springen

wx.switchTab. -0-0----> Zur TabBar-Seite springen und alle anderen Nicht-TabBar-Seiten schließen (Originaltext von der offiziellen Website)

In Bezug auf EventChannel handelt es sich um den oben erwähnten Wert, der zwischen den Seiten weitergegeben wird. Ich habe nur „emitt“ verwendet. Den Rest von „off“, „on“ und „one“ habe ich nicht verwendet, daher ist es schwierig zu erklären, da es ohne das Szenario schwer zu verstehen ist. Ich denke, ich kann etwas schreiben, indem ich das Publish-Subscribe-Modell verwende.

Findest du, dass die beiden Tabellen sehr klar getrennt sind? Hehehe. Tatsächlich habe ich die Markdown-Tabelle nicht gut genutzt und es erscheint mir angemessener, sie zu trennen.

Zusammenfassen

Dies ist das Ende dieses Artikels zum Übertragen von Werten zwischen WeChat Mini-Programmseiten. Weitere relevante Inhalte zum Übertragen von Werten zwischen WeChat Mini-Programmseiten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung zur Übertragung des WeChat-Applet-Seitenwerts
  • Analyse der Methode zur Implementierung der Seitensprungwertübertragung und Werterfassung im WeChat-Applet
  • Beispiel für eine benutzerdefinierte Komponentenwertübertragungsseite und einen Komponentendatenübertragungsvorgang für das WeChat-Applet
  • Detaillierte Erläuterung des Beispiels zum Übergeben von Werten von der untergeordneten Seite zur übergeordneten Seite im WeChat-Applet
  • So übertragen Sie Werte bei der Weiterleitung zur WeChat Mini-Programmseite
  • Analyse der Methode zum Übertragen von Werten zwischen zwei Seiten im WeChat-Applet
  • Beispielanalyse der Seitenwertübertragung und Seitenwertoperation des WeChat-Applets
  • Implementierungscode für den Seitensprungwert des WeChat-Applets
  • So implementieren Sie Seitensprünge und Wertübertragungen im WeChat-Applet
  • Beispielanalyse der Wertübertragung auf WeChat-Applet-Seiten

<<:  Detailliertes Beispiel für die Datenmigration bei einem IOS-Datenbank-Upgrade

>>:  Detaillierte Erläuterung der Verwendung des Nginx-Reverse-Proxys zur Lösung domänenübergreifender Probleme

Artikel empfehlen

Modularität in Node.js, npm-Paketmanager erklärt

Inhaltsverzeichnis Das Grundkonzept der Modularit...

Überlegungen zur Partitionierung von MySQL-Datenbanktabellen [empfohlen]

Die Tabellenpartitionierung unterscheidet sich vo...

So fügen Sie eindeutige Indizes für Felder in MySQL hinzu und löschen sie

1. PRIMARY KEY hinzufügen (Primärschlüsselindex) ...

Detaillierte Erklärung der Entwurfsmuster des JavaScript-Frameworks

Inhaltsverzeichnis mvc MVP mvv Die Quelle von Vue...

Docker-Fallanalyse: Erstellen eines MySQL-Datenbankdienstes

Inhaltsverzeichnis 1 Konfigurations- und Datenver...

Nginx-Proxy-Axios-Anforderung und Vorsichtsmaßnahmen

Vorwort Ich habe vor kurzem eine kleine Demo gesc...

So erstellen Sie manuell ein neues Image mit Docker

In diesem Artikel wird die Methode zum manuellen ...

So implementieren Sie verschiebbare Komponenten in Vue

In diesem Artikel erfahren Sie, wie Sie ziehbare ...