0Pricing
Vue Academy · Lektion

Konfiguration des Scroll-Verhaltens

scrollBehavior(to, from, savedPosition), sanftes Scrollen, Scrollen zum Hash und Wiederherstellen der Position

Konfiguration des Scroll-Verhaltens ist eine kostenlose Vue Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Vue Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Vue Academy-Kurs umfasst insgesamt 4 Lektionen.

Scrollen bei der Navigation steuern

In einer Single-Page-App wird die Seite nicht neu geladen, daher setzt der Browser die Scrollposition nicht für Sie zurück. Mit der Funktion scrollBehavior von Vue Router können Sie festlegen, wohin nach jeder Navigation gescrollt wird.

Wo es definiert wird

Übergeben Sie scrollBehavior beim Erstellen des Routers. Die Funktion wird bei jeder Navigation ausgeführt.

const router = createRouter({
  history: createWebHistory(),
  routes,
  scrollBehavior(to, from, savedPosition) {
    // return a position
  }
})

Die drei Parameter

Die Funktion erhält to (Zielroute), from (aktuelle Route) und savedPosition. Letzteres ist nur bei der Navigation über die Zurück- und Vorwärts-Schaltflächen des Browsers nicht null.

Bei neuen Routen nach oben scrollen

Das einfachste Verhalten: Scrollen Sie bei jeder Navigation zu einer neuen Seite nach oben.

scrollBehavior(to, from, savedPosition) {
  return { top: 0 }
}

Position beim Zurückgehen wiederherstellen

Wenn savedPosition vorhanden ist, geben Sie sie zurück, damit die Zurück-Schaltfläche den Benutzer genau an die vorherige Position bringt – wie beim nativen Verhalten des Browsers.

scrollBehavior(to, from, savedPosition) {
  if (savedPosition) {
    return savedPosition
  }
  return { top: 0 }
}

Warum savedPosition wichtig ist

Ohne die Wiederherstellung von savedPosition würde die Zurück-Schaltfläche den Benutzer an den Anfang einer langen Liste versetzen, durch die er gerade gescrollt hatte. Die Rückgabe der Position bewahrt seinen Standort.

Zu einem Anker scrollen

Wenn die Ziel-URL einen Hash wie #section enthält, scrollen Sie zu diesem Element, indem Sie einen el-Selektor zurückgeben.

scrollBehavior(to) {
  if (to.hash) {
    return { el: to.hash }
  }
  return { top: 0 }
}

Sanftes Scrollen

Fügen Sie behavior: 'smooth' hinzu, um das Scrollen zu animieren, anstatt sofort zu springen.

scrollBehavior(to) {
  if (to.hash) {
    return { el: to.hash, behavior: 'smooth' }
  }
}

Offset für einen fixierten Header

Ein Sticky-Header kann den Zielanker verdecken. Fügen Sie top als Offset hinzu, damit das Element unterhalb des Headers positioniert wird.

scrollBehavior(to) {
  if (to.hash) {
    return { el: to.hash, top: 80 }
  }
}

Scrollen verzögern

Wenn Inhalte asynchron geladen werden, geben Sie ein Promise zurück, das die Position nach einer Verzögerung auflöst, damit das Ziel beim Scrollen vorhanden ist.

scrollBehavior(to, from, savedPosition) {
  return new Promise((resolve) => {
    setTimeout(() => resolve({ top: 0 }), 300)
  })
}

Die Regeln kombinieren

Ein vollständiger Handler priorisiert zuerst die gespeicherte Position, dann Hash-Anker und verwendet anschließend standardmäßig den Seitenanfang.

scrollBehavior(to, from, savedPosition) {
  if (savedPosition) return savedPosition
  if (to.hash) return { el: to.hash, behavior: 'smooth' }
  return { top: 0 }
}

Kurzer Test

Testen Sie Ihr Wissen über das Scroll-Verhalten.

Zusammenfassung

scrollBehavior steuert das Scrollen bei der Navigation:

  • Die Funktion erhält to, from und savedPosition.
  • Geben Sie savedPosition zurück, um die Position für die Zurück-Schaltfläche wiederherzustellen.
  • Geben Sie { el: to.hash } zurück, um zu einem Anker zu scrollen.
  • Geben Sie { top: 0 } für eine neue Navigation zu einer anderen Route zurück.

Häufig gestellte Fragen

Ist die Lektion „Konfiguration des Scroll-Verhaltens“ kostenlos?

Ja — der vollständige Text von „Konfiguration des Scroll-Verhaltens“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Vue Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Vue Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Konfiguration des Scroll-Verhaltens“?

scrollBehavior(to, from, savedPosition), sanftes Scrollen, Scrollen zum Hash und Wiederherstellen der Position Du übst Vue Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Vue Academy zu starten?

Keine Vorkenntnisse erforderlich. Vue Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Konfiguration des Scroll-Verhaltens“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Vue Academy-Lektion Code schreiben und ausführen?

Ja. Jede Vue Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Route-Meta-Felder und Typisierung
  2. Routenübergänge und Animationen
  3. Konfiguration des Scroll-Verhaltens
  4. Programmatische Navigation und useRouter
← Zurück zu Vue Academy