Przewijanie do kotwic za pomocą Vue Router
Dec 05 2020
Potrzebuję konfiguracji linku kotwicy w vuejs, aby przejść do:
<h1 id="apply">Test anchor</h1>
Poniższe działa, ale zmienia adres URL na http: // localhost: 8080 / # / apply
<a href="#apply" class="btn btn-primary mt-3">Apply Now</a>
Jeśli następnie odświeżę stronę, nie będzie wiadomo, dokąd się udać.
Poniższe również nie działają dla mnie. Nie spada nawet do #apply.
<router-link to="/careers/job-1#apply">test</router-link>
Jak skonfigurować linki zakotwiczenia z routingiem vuejs?
Odpowiedzi
1 Dan Dec 05 2020 at 07:51
Dodaj a path
i hash
właściwość do swojego to
obiektu:
<router-link :to="{ path: '/careers/job-1', hash: '#apply' }">test</router-link>
I dodaj scrollBehavior
do definicji routera:
const router = new VueRouter({
...
scrollBehavior (to, from, savedPosition) {
if (to.hash) {
return {
selector: to.hash,
behavior: 'smooth'
};
}
return { x: 0, y: 0 }; // Go to the top of the page if no hash
},
...
})
Teraz powinien przewinąć się (płynnie, chyba że usuniesz tę behavior
właściwość) do kotwicy zdefiniowanej przez hash