You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt.js路由切换时如何实现无可见滚动跳转至新路由顶部?

Nuxt 2 路由切换无滚动直达顶部解决方案

针对你使用的Nuxt 2.15.8、Vue 2.7.10版本,以下方法可实现切换路由时直接显示新页面顶部,且无可见滚动效果:

  1. 修改app/router.scrollBehavior.js文件内容:
export default function (to, from, savedPosition) {
  // 强制瞬间滚动到顶部,无动画
  window.scrollTo({ top: 0, left: 0, behavior: 'instant' })
  // 返回null阻止Nuxt触发默认滚动逻辑
  return null
}
  1. 若仍存在滚动痕迹,添加全局CSS禁用平滑滚动:
    在项目的全局样式文件(如assets/css/main.css)中加入:
html {
  scroll-behavior: auto !important;
}

原理说明:通过window.scrollTo的instant行为强制浏览器瞬间定位到顶部,同时返回null关闭Nuxt自身的滚动处理逻辑;全局CSS则确保页面不会继承任何平滑滚动的样式规则。

内容的提问来源于stack exchange,提问作者Gabriel Veres

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:40:48