Vorwort
Als plattformübergreifendes Entwicklungsframework wird Uniapp von immer mehr Entwicklern akzeptiert und verwendet. In Uniapp ist der Seitensprung ein sehr häufiger Vorgang. Nach dem Seitensprung ist es manchmal erforderlich, den Status der Originalseite beizubehalten, damit Sie beim nächsten Zurückkehren zu dieser Seite die Daten nicht neu laden oder ausführen müssen komplizierte Operationen wieder. Wie kann man also den Effekt erzielen, dass man nach dem Sprung in Uniapp zurückkehrt, ohne sich zu erfrischen? In diesem Artikel wird es Ihnen ausführlich vorgestellt.
Uniapp-Seitensprung
Um zu einer Seite in Uniapp zu springen, verwenden wir normalerweise die Methode uni.navigateTo oder uni.redirectTo. Ihre spezifischen Unterschiede sind wie folgt:
Verwenden Sie die Methode uni.navigateTo Zur Seite Beim Springen wird oben im Stapel der aktuellen Seite eine neue Seite hinzugefügt, wie in der Abbildung unten gezeigt:
Wie Sie sehen können, Wir verwenden uni auf Seite A. .navigateTo springt zu Seite B und fügt einen neuen Inhalt zu Seite B hinzu. Dieser Inhalt wird oben auf Seite A angezeigt, und wenn wir zu Seite A zurückkehren, wird Seite B zerstört ein Stapel. Der Aufbau ist derselbe.
Der Unterschied zu uni.navigateTo besteht darin, dass bei Verwendung von uni.redirectTo zum Springen zu einer Seite die aktuelle Seite gelöscht und dann zu einer neuen Seite gesprungen wird, wie in der folgenden Abbildung dargestellt:
Sie können sehen, dass wir uni.redirectTo auf Seite A verwenden, um zu Seite B zu springen und einen neuen Inhalt zu Seite B hinzuzufügen. Wenn wir jedoch zu Seite A zurückkehren, wurde Seite B zerstört und der gesamte Prozess ist wie eine Warteschlange.
So erzielen Sie den Effekt der Rückkehr ohne Auffrischung nach dem Springen
Durch die obige Einführung können wir erkennen, dass wir die Methoden uni.navigateTo oder uni.redirectTo nicht direkt verwenden können, wenn wir den Effekt der Rückkehr ohne Auffrischung nach dem Springen benötigen. weil diese beiden All-Methoden die Seite vor dem Sprung zerstören. Wie erreicht man das?
Implementierungsidee:
Gehen Sie über die Methode uni.switchTab oder uni.reLaunch zur angegebenen Seite. Diese beiden Methoden haben eine Funktion: Unabhängig davon, wie Sie springen, wird die Seite aktualisiert. Achten Sie also darauf, dies nicht zu tun Verwenden Sie hier die Methode uni.navigateTo oder uni.navigateTo.
Fügen Sie der Seite, die übersprungen werden muss, eine TabBar-Registerkarte hinzu. Die Routing-Adresse dieser Registerkarte muss mit der Routing-Adresse der Seite übereinstimmen, zu der uni.switchTab oder uni.reLaunch gehen Auf dieser Registerkarte wird zur angegebenen Seite gesprungen und der Seitenstatus vor dem Springen beibehalten.
Implementierungsschritte:
"tabBar": { "color": "#999", "selectedColor": "#007AFF", "borderStyle": "black", "backgroundColor": "#FFFFFF", "list": [ { "pagePath": "pages/index/index", "text": "首页", "iconPath": "static/img/tabBar/home.png", "selectedIconPath": "static/img/tabBar/home-selected.png" }, { "pagePath": "pages/mine/mine", "text": "我的", "iconPath": "static/img/tabBar/mine.png", "selectedIconPath": "static/img/tabBar/mine-selected.png" } ] },
Fügen Sie die Registerkarte tabBar in der Datei manifest.json hinzu, die zwei Seiten enthält, nämlich die Startseite und meine Seite.
<template> <view class='container'> <view class='content'> <button class='button' @click='jumpToMine'>跳转到我的页面</button> </view> </view> </template> <script> export default { methods: { jumpToMine() { uni.switchTab({ //注意这里使用了switchTab方法 url: '/pages/mine/mine' }) } } } </script> <style> .container { width: 100%; height: 100%; background-color: #FFFFFF; } .content { margin-top: 100px; text-align: center; } .button { width: 200px; height: 50px; background-color: #007AFF; color: #FFFFFF; border: none; border-radius: 10px; } </style>
Verwenden Sie beim Hinzufügen einer Schaltfläche die Methode uni.switchTab, um beim Klicken zu meiner Seite zu springen .navigateTo- oder uni.redirectTo-Methode.
<template> <view class='container'> <view class='content'> 我的页面 </view> <view class='tabBar'> <view class='tabBarItem' @click='jumpToHome'> <text class='tabBarIcon'>首页</text> </view> <view class='tabBarItem tabBarItem-selected'> <text class='tabBarIcon'>我的</text> </view> </view> </view> </template> <script> export default { methods: { jumpToHome() { uni.switchTab({ url: '/pages/index/index' }) } } } </script> <style> .container { width: 100%; height: 100%; background-color: #FFFFFF; } .content { margin-top: 100px; text-align: center; } .tabBar { position: fixed; bottom: 0; display: flex; justify-content: space-between; align-items: center; width: 100%; height: 50px; padding: 5px; background-color: #FFFFFF; border-top: solid 1px #DDDDDD; } .tabBarItem { flex: 1; display: flex; justify-content: center; align-items: center; height: 100%; font-size: 14px; color: #999; } .tabBarItem-selected { color: #007AFF; } .tabBarIcon { font-size: 14px; } </style>
Auf meiner Seite haben wir eine tabBar-Registerkarte hinzugefügt. Diese Registerkarte enthält zwei tabBarItems, nämlich die Startseite und meine, darunter die Registerkarte, die auf den ausgewählten Status eingestellt ist.
Hier zeige ich euch den Y2xv dWQ=/
Das Obige ist der gesamte Inhalt dieses Artikels. Durch das Studium dieses Artikels glaube ich, dass Sie gemeistert haben, wie Sie nach dem Sprung in Uniapp den Effekt einer Rückkehr ohne Erfrischung erzielen können. Ich hoffe, es hilft allen.
Das obige ist der detaillierte Inhalt vonWie kehrt Uniapp nach dem Springen ohne Aktualisierung zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!