在 Html 中,我們是可以透過 href="#aaa" 滑到對應的錨點,但如果不希望網址上出現 #(hash),在 Vue 裡面可以這樣做:
在模板中,使用錨點鏈接指向要滾動到的位置:
<a href="#about" @click.prevent="scrollToAbout">前往關於</a>
在 Vue 元件中,定義 scrollToAbout
方法,使用 JavaScript 來滾動到指定位置:
methods: { scrollToAbout() { const aboutElement = document.querySelector('#about'); // 獲取要滾動到的元素 if (aboutElement) { aboutElement.scrollIntoView({ behavior: 'smooth' }); // 使用平滑滾動到元素 } } }
上述程式碼中,scrollToAbout
方法首先使用 document.querySelector
獲取具有 id
為 "about" 的元素,然後使用 scrollIntoView
方法將頁面滾動到該元素的位置,使用 behavior: 'smooth'
選項來實現平滑滾動效果。
這種方法不需要 Vue Router,但需要一些額外的 JavaScript 代碼來處理滾動操作。請注意,滾動到的元素必須具有唯一的 id
,以便通過 querySelector
找到它。