Scroll to top on route change – Vue.js

If you want to scroll the page to the top once you change your route using vue-router there's two options.

Both use the Navigation Guards

Globally

This will be have an effect on every single view change:

const router = new Router({ ... });

router.afterEach(() => {
  window.scrollTo(0, 0);
});

export default router;

View specific

You can use the same snippet in the mounted function like this:

mounted () {
  window.scrollTo(0, 0);
}

About Rick

Senior Front-end Software Engineer from Barcelona, Haidong Gumdo Instructor (korean martial art of the sword), street photographer, travel lover, TV addict, Boston Red Sox fan, and privacy advocate.

Leave a Reply

Add <code> Some Code </code> by using this tags.

*
*