我在网站导航中使用nuxt链接,其中大多数指向首页中的散列元素/锚点,例如:
<nuxt-link
v-else
class="text-link"
:to="localePath('index') + `#${item.hash}`"
>
,如果当前在主页上,但是当我导航到其他站点时,它将完成其工作。 / about,然后单击导航栏nuxt链接(因此,我想从/ about导航到/#hash或/ any-other-site#hash),显示nuxt错误,以检查其显示为“无法读取”的控制台属性'offsetTop'为空”
我在nuxt.config中的路由器配置(如果没有它,我什至无法滚动到与该元素位于同一站点的锚定元素!):
router: {
scrollBehavior(to) {
if (to.hash) {
return window.scrollTo({ top: document.querySelector(to.hash).offsetTop + window.innerHeight, behavior: 'smooth' });
}
return window.scrollTo({ top: 0, behavior: 'smooth' });
}
},
答案 0 :(得分:0)
您尚未在 nuxt-link 中定义哈希。使用:
<nuxt-link
v-else
class="text-link"
:to="{ path: localePath('index'), hash:`#${item.hash}` }"
>