Die Position der Bildlaufleiste bleibt beim Scrollen der Vant-Listenkomponente erhalten. Dies muss in Verbindung mit KeepAlive verwendet werden. Ich teile diesen Artikel zu Ihrer Information. 1. Die Voraussetzung zum Speichern des Standorts besteht darin, die KeepAlive-Komponente zum Zwischenspeichern und den App.vue-Code zu verwenden <Vorlage> <div id="app"> <am Leben erhalten> <router-view v-if='$route.meta.keepAlive'/> </am Leben erhalten> <router-view v-if='!$route.meta.keepAlive'/> </div> </Vorlage> 2. Fügen Sie in der Routing-Datei router.js scrollTop und keepAlive zu jedem Routing-Meta hinzu { Pfad: '/home', Name: 'Heimat', Komponente: auflösen => erfordern(['@/views/home/index.vue'], auflösen), Meta: { Titel: 'Homepage', Index: 1, keepAlive: wahr, scrollTop: 0 } }, { Pfad: '/klassifizieren', Name: 'klassifizieren', Komponente: auflösen => erfordern(['@/views/classify/index.vue'], auflösen), Meta: { Titel: 'Klassifikation', Index: 1, keepAlive: wahr, scrollTop: 0 } }, { Pfad: '/shopping', Name: 'Einkaufen', Komponente: auflösen => erfordern(['@/views/shopping/index.vue'], auflösen), Meta: { Titel: 'Warenkorb', Index: 1, keepAlive: wahr, scrollTop: 0 } }, { Pfad: '/detail', Name: "Detail", Komponente: auflösen => erfordern(['@/views/detail/index.vue'], auflösen), Meta: { Titel: 'Details', Index: 2, // keepAlive: wahr, // scrollTop: 0 } }, 3. Notieren Sie dann in main.js die Position der Bildlaufleiste router.beforeEach((bis, von, weiter) => { wenn (from.meta.keepAlive) { const $wrapper = document.querySelector('.app-wrapper'); // Der äußere Container der Liste sollte darauf achten, das Bildlauffeld zu finden const scrollTop = $wrapper ? $wrapper.scrollTop : 0; Konsole.log('scrollTop=', scrollTop) von.meta.scrollTop = scrollTop; } nächste(); }); 4. Aktivieren Sie abschließend scrollTop (diese Funktion wird jedes Mal ausgeführt, wenn Sie die Seite aufrufen, und ist nur wirksam, wenn sie in Verbindung mit der Komponente keepAlive verwendet wird). Dort müssen Sie die Position der Bildlaufleiste aufzeichnen. aktiviert () { const scrollTop = this.$route.meta.scrollTop; const $wrapper = document.querySelector('.app-wrapper'); wenn (scrollTop und $wrapper) { $wrapper.scrollTop = scrollTop; } }, Wenn Sie beispielsweise einige Seiten zwischenspeichern und nicht mit ihnen scrollen möchten, können Sie scrollTop auf 0 setzen. aktiviert() { const $wrapper = document.querySelector(".app-wrapper"); $wrapper.scrollTop = 0; }, Beachten Sie, dass beim Scrollen der Seite auch andere Seiten mit Scrollbalken mitscrollen. Sie können dies auf anderen Seiten verarbeiten oder festlegen, ob der Standort von der Detailseite zur Listenseite zwischengespeichert werden soll. Wenn nicht, kehren Sie nach oben zurück, achten Sie jedoch auf die Verwendung der Routing-Hook-Funktion. Das könnte Sie auch interessieren:
|
<<: Verstehen Sie das Prinzip des Seitenersetzungsalgorithmus anhand von Codebeispielen
>>: So aktivieren Sie das Root-Konto in Ubuntu 20.04
einführen Normalerweise muss ein Hintergrundserve...
Aus einer Laune heraus habe ich eine Fallstudie ü...
Bei vielen Benutzern ist dieser Fehler beim Start...
Zusammenfassung der allgemeinen Funktionen von re...
Inhaltsverzeichnis 1. Gleichzeitige Zugriffskontr...
Artikel-Mindmap Warum Master-Slave-Replikation un...
In diesem Artikel wird der spezifische Code für J...
Zuerst erstellen wir die Datenbanktabelle: Tabell...
Einführung in temporäre Tabellen Was ist eine tem...
Das Herunterladen dieser Datenbank nimmt viel Zei...
Dieser Artikel stellt hauptsächlich den relevante...
Dieser Artikel beschreibt, wie lamp-php7.0 in ein...
Inhaltsverzeichnis veranschaulichen 1. Aktivieren...
Das Miniprogramm implementiert einen vollständige...
Frage Wie ändere ich den CSS-Pseudoklassenstil mi...