我希望我的应用程序在导航回我的一条路线时保持相同的滚动位置。如果我使用浏览器的后退按钮返回,但当我点击一个链接(使用nuxt- link创建)时,当我导航到我的路线时,滚动位置将重置为0。
我尝试用我自己的函数替换nuxt.config.js中的scrollBehavior函数。该函数被调用,但savedPosition参数为空,因此这显然是重置滚动位置的原因。同样,如果我使用浏览器的后退按钮,而不是单击来自其他路由的链接,则没有问题,savedPosition参数被设置为它的预期值,并且滚动发生。我不明白为什么用链接导航不起作用,以及我能做些什么来解决这个问题。任何帮助都将不胜感激。
发布于 2019-08-05 04:46:52
我认为发生这种情况的原因是nuxt-link正在将一个新页面推到后台堆栈。
考虑到这一点,将使用空的savedPosition参数调用scrollBehaviour,因为这是一个全新的页面。这类似于在进行编程导航时调用router.push()。
我找不到任何使用nuxt-link严格模拟back按钮行为的方法,但是使用programmatic navigation实现起来很简单
// go backward one page
router.go(-1)https://stackoverflow.com/questions/57347713
复制相似问题