UNI-App verwendet ein relativ einfaches Routing-System basierend auf einer eigenen Navigations-API. Anstatt sich auf herkömmliche Browser-basierte Routing wie React Router oder Vue-Router zu verlassen, verwaltet Uni-App die Navigation intern. Dies bedeutet, dass Sie hauptsächlich mit der Navigation mithilfe von Methoden, die vom Framework bereitgestellt werden, interagieren. Die Kernmethode ist uni.navigateTo()
, die eine neue Seite auf den Navigationsstapel drückt. Weitere Methoden sind uni.redirectTo()
, das die aktuelle Seite uni.reLaunch()
ersetzt, die alle Seiten schließt und eine neue eröffnet, und uni.navigateBack()
, das eine Seite aus dem Stapel steckt. Diese Methoden sind asynchron und geben ein Versprechen zurück, sodass Sie Erfolg oder Misserfolg umgehen können. Die Seiten selbst sind in Ihrer Datei Ihrer pages.json
-Datei definiert, wodurch der Pfad zu jeder Vue -Komponente aufgelistet ist, die eine Seite darstellt. Um beispielsweise zu einer Seite mit dem Namen "Detail" auf pages/detail/detail.vue
zu navigieren, verwenden Sie uni.navigateTo({ url: '/pages/detail/detail' })
. Die URL ist relativ zum pages
. Darüber hinaus unterstützt Uni-App die Registerkartennavigation und ermöglicht es Ihnen, Anwendungen mit mehreren Registerkarten zur unteren Navigation zu erstellen, die jeweils zu unterschiedlichen Seiten führen. Dies ist auch innerhalb von pages.json
konfiguriert und geben an, welche Seiten zu welcher Registerkarte gehören.
Mehrere Best Practices verbessern die Wartbarkeit und Benutzererfahrung Ihrer Uni-App-Navigation:
uni.navigateTo()
für die meisten Fälle: Während andere Navigationsmethoden vorhanden sind, priorisieren Sie uni.navigateTo()
für die meisten Szenarien. Dadurch erhalten Sie den Navigationsverlauf und ermöglichen es den Benutzern, problemlos zurückzukehren. Reservieren Sie uni.redirectTo()
und uni.reLaunch()
für bestimmte Situationen, in denen Sie die aktuelle Seite vollständig ersetzen oder den Navigationsstapel löschen möchten.uni.setStorageSync()
: Verwenden Sie für einfache Datenübertragung URL -Parameter. Bei größeren oder sensiblen Daten nutzen Sie jedoch uni.setStorageSync()
, um Daten beständig über Seiten hinweg zu speichern. Vermeiden Sie es, große Datenmengen direkt über URL -Parameter zu übergeben, da dies die Leistung und die URL -Länge beeinflussen kann..then()
und .catch()
hinzu, um potenzielle Navigationsfehler anmutig zu bewältigen. Dies macht Ihre Bewerbung robuster.UNI-App bietet verschiedene Möglichkeiten, Daten zwischen den Seiten während der Navigation zu übergeben:
uni.navigateTo({ url: '/pages/detail/detail?id=123&name=John' })
. Sie können dann auf diese Parameter auf der Zielseite mit uni.getCurrentPages()[uni.getCurrentPages().length - 1].options
zugreifen.uni.navigateTo()
mit data
: Für komplexere Daten können Sie ein Objekt über die data
innerhalb von uni.navigateTo()
übergeben. Diese Daten sind im onLoad
-Lebenszyklushaken der Zielseite zugänglich. Zum Beispiel: uni.navigateTo({ url: '/pages/detail/detail', data: { user: { id: 123, name: 'John' } } })
. Greifen Sie auf die Daten in der Detailseite zu, indem Sie this.$page.data
.uni.setStorageSync()
: Für anhaltende Daten, die auf mehrere Seiten oder sogar nach der Navigation zugänglich sein müssen, verwenden Sie uni.setStorageSync()
um Daten im lokalen Speicher der App zu speichern. Abrufen Sie es mit uni.getStorageSync()
. Diese Methode eignet sich für größere Datensätze oder Daten, die über eine einzelne Navigationsinstanz hinausgehen müssen. Denken Sie daran, den Speicher zu löschen, wenn die Daten nicht mehr benötigt werden.pages.json
und stellen Sie sicher, dass sie die Dateistruktur Ihrer Seiten genau widerspiegeln. Tippfehler oder Inkonsistenzen können zu Navigationsfehlern führen.uni.reLaunch()
uni.reLaunch()
: Obwohl sie für bestimmte Szenarien nützlich sind, kann es die Navigationsverlauf stören und es schwierig machen, zurück zu navigieren..then()
und .catch()
.data
von uni.navigateTo()
oder uni.setStorageSync()
.uni.setStorageSync()
verwenden, denken Sie daran, den Speicher zu löschen, wenn die Daten nicht mehr benötigt werden. Wenn Sie unnötige Daten im Speicher lassen, können Sie unnötigen Platz nutzen und möglicherweise zu unerwartetem Verhalten führen.Das obige ist der detaillierte Inhalt vonWie gehe ich mit Routing und Navigation in Uni-App um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!