Menggulir ke jangkar dengan Vue Router
Dec 05 2020
Saya membutuhkan pengaturan tautan jangkar di vuejs untuk pergi ke:
<h1 id="apply">Test anchor</h1>
Cara berikut berfungsi tetapi mengubah url menjadi http: // localhost: 8080 / # / apply
<a href="#apply" class="btn btn-primary mt-3">Apply Now</a>
Jika saya kemudian menyegarkan halaman itu tidak tahu ke mana harus pergi.
Hal berikut juga tidak berhasil untuk saya. Itu bahkan tidak turun ke #apply.
<router-link to="/careers/job-1#apply">test</router-link>
Bagaimana cara mengatur tautan jangkar dengan perutean vuejs?
Jawaban
1 Dan Dec 05 2020 at 07:51
Tambahkan path
dan hash
properti ke to
objek Anda :
<router-link :to="{ path: '/careers/job-1', hash: '#apply' }">test</router-link>
Dan tambahkan scrollBehavior
ke definisi router Anda:
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
},
...
})
Sekarang seharusnya bergulir (dengan lancar, kecuali Anda menghapus behavior
properti itu) ke jangkar yang ditentukan oleh hash
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'