javascript - Vue Router 在新页面上到顶部

标签 javascript vue.js vue-router

现在,在我的 Vue 应用程序中,当我单击 <router-link> , 它转到页面,但滚动级别与上一页相同(因为链接只是替换了组件)。

我想知道是否有 vue-router使页面到顶部的功能,或者我需要使用一些其他的 JS 编程来实现这一点。

非常感谢您的帮助。

最佳答案

Vue 路由器有几个守卫和函数,它们在路由更改之前、期间和之后被调用。在您的情况下,有一个专用函数允许您覆盖滚动的默认行为,名为 scrollBehavior .它被称为两个 route objects和一个包含 x 和 y 坐标的对象,也许还有一个选择器,用于选择页面上的一个元素用作偏移量。

要使用它,请更改定义路由器的代码并添加 scrollBehavior 函数:

// src/router.js
const router = new VueRouter({
  // What you previously had here, such as routes

  scrollBehavior (to, from, savedPosition) {
    return { x: 0, y: 0 };
  }
});

export default router;

关于javascript - Vue Router 在新页面上到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53687424/

相关文章:

javascript - 无法使用 JQuery 表单插件进行简单验证来提交表单

javascript - 如何在 div 元素内打印 tab(\t)?

javascript - 带重定向路由的 Vue-Router 无限循环

vue.js - 如何使用 createElement 创建槽的副本?

javascript - Vue.js 自定义日历,禁用日期

javascript - 从同一组件的方法中调用 VueJS 生命周期 Hook

vue.js - Vue-router:改变其父 View 的子路由

javascript - fetch、ajax 和 xhr 之间的区别

javascript - 在 detach 和 appendTo 元素被复制之后

javascript - 通过 Vuejs 和 axios 向 laravel 后端提交 post 请求