Я пытаюсь разработать простой веб-сайт, используя vue js, и пока все идет хорошо, но я сталкиваюсь со следующей проблемой:
Я использую маршрутизатор для смены страниц, он работает, ночто мне нужно сделать, это: изменить страницу и перейти к определенной привязке.
Что я уже пробовал:
Работает хорошо: путь к странице контакта или домой
<router-link to="/contact">Contact</router-link>
<router-link to="/">Home</router-link>
Не работает:
<router-link :to="{ name: '/', hash: '#technology' }" >Technology</router-link>
Последний работает, только если я на главной странице, но всякий раз, когда я перехожу на страницу контактов и пытаюсь перенаправить на "/ # technology", он не будетРабота.Он пытается перенаправить на «http://example.com/contact/#technology" вместо» http://example.com/#technology".
Если я сделаю это так, он просто прокрутится к началу, но не к якору:
<router-link to="/#technology" Technology</router-link>
Мой код маршрутизатора:
const routes = [
{ path: '/', component: Home },
{ path: '/contact', component: Contact }
]
const router = new VueRouter({
mode: 'history',
routes,
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
return savedPosition;
}
if (to.hash) {
return { selector: to.hash };
}
return { x: 0, y: 0 }
},
});
new Vue({
router,
}).$mount('#app');
И шаблоны выглядят так (я удалил ненужный код):
<template id="home">
<div>
Home
<div id="technology"> <!-- IT SHOULD SCROLL TO HERE -->
</div>
</template>
<template id="contact">
<div>
Contact Page
</div>
</template>