Nuxt.jsでのページ遷移設定方法(Vue Routerやnuxt-link)|Nuxt.jsの基本

Nuxt.jsでもVue Routerを使っているので、Vue CLIと同様にVur Routerの機能が使えますが、それをさらに拡張したnuxt-linkが使えます。
template内の遷移タグ
Vue Routerの<router-link>はもちろん使えます。
<router-link :to="/">トップページへ遷移</router-link>しかし、せっかくNuxt.jsを使うのであれば<nuxt-link>を使った方が良さそうです。
基本的な使い方は<router-link>と同じです。
<nuxt-link to="/">トップページへ遷移</nuxt-link>もしくは<NuxtLink>でもできるみたいですが、基本小文字の方がHTMLが統一されるので、<nuxt-link>の方がオススメです。
<NuxtLink to="/">トップページへ遷移</NuxtLink>どちらもブラウザで生成されるのは<a>タグになります。
nuxt-linkのメリット
具体的な<nuxt-link>を使うメリットとしては、「ブラウザの表示領域に<nuxt-link>があると、その先のページを自動的に先読みしてくれる」ことみたいです。
Nuxt は自動的にスマートプリフェッチングをサポートしています。
つまり、ビューポートまたはスクロール時にリンクが表示されたことを検知し、そしてユーザーがリンクをクリックしたときにすぐに使えるよう、ページにおいて JavaScript をプリフェッチします。Nuxt はブラウザがビジー状態でないときにのみリソースをロードし、接続がオフラインの場合や 2g の接続しかできない場合はプリフェッチをスキップします。
そんなことまでしてくれるんですね。とりあえず使っといて損はなさそうです。
ちなみに、オフにしたい場合は「no-prefetch」属性を付けるとオフになります。
script内でページ遷移させたい場合
methods内などで、なにか処理をしてからページ遷移させたい場合は「this.$router.push()」を使用します。
<template>
<a @click="onClickButton">トップページへ遷移</a>
</template>
<script>
export default {
methods: {
onClickButton(){
this.$router.push('/');
}
}
}
</script>戻る・進むを実装する
「戻る」ボタンを実装して、ページを1つ前に戻したい場合は下記コードを使用します。
this.$router.go(-1);逆に「進む」ボタンを実装して、ページを1つ進めたい場合は下記コードです。
this.$router.go(1);
Visual Studio Codeでできる最低限のGit操作方法
resizeイベントを使用する場合は、iOS Safariでの挙動に注意
ウェブ上でLaTeXで数式をキレイにプレビューするJavaScriptライブラリ「MathJax」
iOSシミュレーターを使ってWebサイトを開発者ツールを見ながら実機表示で開発する方法
Visual Studio Codeを使ったコード整形方法(Fomatter)
Vue.jsでtemplateタグ内にscriptやstyleタグを生成する方法|Tags with side effect are ignored
Nuxt.jsの基本と最初のセットアップ「プロジェクトの作成と起動をするまでの流れ」
Visual Studio Codeのエクスプローラー上でファイル・フォルダの複製ができるようになる拡張機能「Duplicate action」
スマホやPCにプッシュ通知をしてくれる「Push7」をブログに追加する方法
Nuxt.jsでコンポーネントを作成してコードの共通化を行う|Nuxt.jsの基本
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法