Beispiel für die Verwendung von Store in Vue3 zum Aufzeichnen der Bildlaufposition

Beispiel für die Verwendung von Store in Vue3 zum Aufzeichnen der Bildlaufposition

Gesamteffekt

Wenn Sie durch die Homepage-Liste scrollen und die Detailseite aufrufen, können Sie beim Zurückwechseln zur Homepage zum zuvor durchsuchten Ort zurückkehren.

Achten Sie auf Container-Scroll-Ereignisse

Definieren Sie ein Scroll-Ereignis und binden Sie es an das Scroll-Ereignis des Containers. Ich habe hier eine gewisse Drosselung vorgenommen.

const savePosY = () => {
      wenn(Zustand.Timer) return;
      Zustand.Timer = setzeTimeout(() => {
        let node = document.querySelector(".contentWrapper");
        //Scrollposition aufzeichnenstore.commit("setY",node.scrollTop)
        Zustand.Timer = null;
        Zeitüberschreitung löschen(Zustand.Zeitgeber);
      },100)

Holen Sie sich den Container in die Halterung, um das Ereignis zu binden

beimMounted(() => {
    let contentWrapper = document.querySelector(".contentWrapper");
    contentWrapper.addEventListener("scrollen",savePosY);
})

Konfiguration im Store

Der Speicher ist relativ einfach und enthält nur einen Status: y und Mutationen: setY

Standard exportieren {
    Zustand:{
         und: 0
    },
    Mutationen:
        setY(Zustand,Wert){
            Zustand.y = Wert;
        }
    }
}

Holen Sie sich die Scrollposition, wenn die Seite zurückspringt

Führen Sie die Operation auch in onMounted durch, da sonst das Containerelement nicht abgerufen werden kann. Da DOM in Vue asynchron gerendert wird, müssen wir die Operation in nextTick durchführen, um effektiv zu sein

nextTick(() => { contentWrapper.scrollTop = store.state.y; })

endlich

Das Obige ist der vollständige Inhalt dieses Artikels. Wenn etwas falsch ist oder eine bessere Methode vorliegt, können Sie uns dies gerne mitteilen und darauf hinweisen.

Oben sind die Einzelheiten des Beispiels, wie vue3 Store verwendet, um die Scrollposition aufzuzeichnen. Weitere Informationen dazu, wie Vue die Scrollposition aufzeichnet, finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Keep-alive in Vue implementiert zurück ohne Aktualisierung und behält die Scrollposition bei
  • Lösen Sie das Problem, dass Vue die Bildlaufposition nicht festlegen kann
  • So merken Sie sich die Scrollposition beim Aufrufen der Detailseite in Vue (Keep-Alive)
  • Lösung für den Fehler, dass die Seiten-Scrollposition nach dem Routenwechsel in Vue2.0 unverändert bleibt
  • Der Vue-Scroller gibt die Seite zurück, um sich den Beispielcode für die Bildlaufposition zu merken
  • Vue-Scroller-Beispielcode zum Aufzeichnen der Bildlaufposition
  • So lösen Sie das Problem der festen Bildlaufposition der Vue-Seite

<<:  So beheben Sie den Fehler "ERROR 1045 (28000)" beim Anmelden bei MySQL

>>:  So zeigen Sie Docker-Containerprotokolle an und bereinigen sie (getestet und effektiv)

Artikel empfehlen

Tutorial zur Installation und Konfiguration von MySQL 5.7.16 ZIP-Paketen

In diesem Artikel finden Sie das Installations- u...

Detaillierte Erklärung von MySQL-Transaktionen und MySQL-Protokollen

Transaktionale Merkmale 1. Atomarität: Nach dem S...

Kann Asynchronität in JavaScript „Await“ speichern?

Ich wusste vorher, dass man await verwenden muss,...

Schreiben Sie Ihr HTML so, um Ihren Code kompatibler zu machen

Beispielsweise Benutzer, die eine Bildschirmleseso...

MySQL 5.7.21 Installations- und Konfigurations-Tutorial

Die einfache Installationskonfiguration von mysql...

Videojs+Swiper realisiert Taobao-Produktdetailkarussell

In diesem Artikel wird der spezifische Code von v...

CSS implementiert fünf gängige 2D-Transformationen

2D-Transformationen in CSS ermöglichen es uns, ei...

So vermeiden Sie die Duplizierung von Daten beim Einfügen in einen MySql-Batch

Inhaltsverzeichnis Vorwort 1. Einfügen von ignore...

Implementierungsmethode des Nginx+Tomcat-Lastausgleichsclusters

Die experimentelle Umgebung ist wie folgt Hier mü...

MySQL-Grundlagen-Tutorial: Detaillierte Erklärung der DML-Anweisungen

Inhaltsverzeichnis DML-Anweisungen 1. Datensätze ...