滚动行为不适用于nuxt链接



我希望我的应用程序在导航回我的一条路线时保持相同的滚动位置。如果我使用浏览器的后退按钮向后导航,它正在工作,但是当我单击链接(使用 nuxt-link 创建(时,导航到我的路线时滚动位置重置为 0。

我尝试用我自己的函数替换nuxt.config.js中的scrollBehavior函数。调用该函数,但 savedPosition 参数为空,因此这显然是重置滚动位置的原因。同样,如果我使用浏览器的后退按钮而不是单击来自其他路由的链接,那么没有问题,savedPosition 参数设置为其预期值并且滚动发生。我不明白为什么在使用链接导航时它不起作用以及我可以做些什么来解决这个问题。任何帮助将不胜感激。

我相信发生这种情况的原因是nuxt-link正在将新页面推送到后堆栈上。

考虑到这一点,scrollBehaviour被调用为空savedPosition参数,因为这是一个全新的页面。 这类似于在执行编程导航时调用router.push()

我找不到任何严格使用 nuxt-link 模拟后退按钮行为的方法,但使用编程导航实现它很简单:

// go backward one page
router.go(-1)

最新更新