我在使用 Nuxt3 时遇到问题,在按下浏览器后退按钮时,窗口没有裁剪到保存的位置。在下面的代码中,当我记录保存的位置时,在返回操作时它会记录正确的垂直滚动值,但是到该位置的滚动不会在返回时激活。
我已经启用平滑滚动以使用此代码在
app/router.options.ts
文件中使用此代码锚定链接
import type { RouterOptions } from '@nuxt/schema'
export default <RouterOptions> {
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
console.log(savedPosition);
return savedPosition
} else if (to.hash && to.path == from.path) {
const el = document.querySelector(to.hash);
return { top: el.offsetTop, left: 0, behavior: "smooth" };
} else {
return {
top: 0,
behavior: 'smooth',
}
}
}
}