Nuxt.jsで画面を遷移するたびに画面上部にスクロールしたい
Nuxt.jsでnuxt-linkとかを利用して画面遷移する場合、デフォルト設定ではスクロール位置を保持したまま画面を切り替えてくれる これをやめて画面遷移するたびにスクロール位置を一番上になるようにする
手順は公式に書いてある通り
まずプロジェクト直下に app
ディレクトリがない場合は作成 ※最初はない
~/app/router.scrollBehavior.js
ファイルを以下の内容で作成する
export default function (to, from, savedPosition) { return { x: 0, y: 0 } }
これで画面遷移するたびに画面上部にスクロールするようになる
デフォルトのrouter.scrollBehavior.js
は 以下を参照
nuxt.js/router.scrollBehavior.js at dev · nuxt/nuxt.js · GitHub
特定のパスだけスクロールの処理を行いときは to.path
を利用して条件分岐して記述すればヨサソウ