FE開発するとスクロール位置が思ったところに行かないことがある。
その場合には、app/router.optionsでscrollBehaviorを使用して、スクロール位置をカスタマイズできる
https://nuxt.com/docs/guide/going-further/custom-routing#using-approuteroptions
import type { RouterOptions } from '@nuxt/schema
export default <RouterOptions> {
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
return savedPosition
} else {
return {
top: 0,
behavior: 'smooth',
}
}
}
<使用箇所>
下記のようなことを開発したい場合に、上記をカスタマイズすることで、実現できる!
・ページ遷移時に画面の先頭にスクロール
・ブラウザバックした際に、スクロール位置を戻す(※1)
・特定のページのみスクロールの位置を変えたい時
※1 ページ遷移時に、セッションStrageにスクロール位置を保存し、ブラウザバック時に、onMoutedで保存したスクロール位置取得し、設定