Nuxt.jsの「layouts」を使用してレイアウトの共通化を行う方法|Nuxt.jsの基本

Nuxt.jsにはぺーじごとにレイアウトを切り替える機能があります。
元から存在するのは「layouts/default.vue」だけですが、「layouts」フォルダ内にレイアウト用のファイルを作成し、「pages」配下の各ページファイルからレイアウトを指定して使います。
この機能をうまく使うことで、複数ページで共通使用するレイアウトをまとめて管理できます。
レイアウトの作成
default.vue
まずデフォルトで設定されている「layouts/default.vue」の中身は下記のようになっています。
<template>
<div>
<Nuxt />
</div>
</template>この<Nuxt />タグの中にpages配下のコードが入ります。
これをコピーして、レイアウト共有の処理やコードを追加していきます。
基本的にはpagesと同じようにNuxt.jsの処理も普通に書けます。
レイアウトの適用方法
レイアウトを適用したいときは、「pages」配下のファイルのexport default直下のlayoutでファイル名を指定します。
例えば「layouts/list.vue」を適用したい場合は「layout: 'list'」と指定します。
<script>
export default {
layout: 'list', // ← 「list.vue」が適用される
data() {
return {
}
},
methods: {
}
}
</script>error.vue
「layouts/error.vue」を作成すると、全ページ共通のエラーページを設定できます。
このエラーページではデフォルトで「error」propsが渡されて、その中に「statusCode」というHTTPステータスコードを表す値(404や500など)を持っています。
この値を使えば、どのステータスコードなのかによってメッセージを切り替えたりもできます。
<template>
<div class="page is-error">
<h1>{{ error.statusCode }}</h1>
<h2>エラーが発生しました</h2>
</div>
</template>
<script>
export default {
props: {
error: { type: Object, default () { return {} } }
}
}
</script>

Macで.pemを使ってAmazon EC2インスタンスへSSH接続する方法
Vue CLIでGA4を導入する方法
ブログに見出しを設置できるjQueryプラグイン「TOC | jQuery Table of Contents」
Android実機で表示しているサイトを、Chrome開発者ツールで開いて検証する方法
resizeイベントを使用する場合は、iOS Safariでの挙動に注意
EJSのincludeで別ファイルを読み込むときの画像パスを指定する方法
無料版を使っている人は検討する価値あり!MAMP PRO 5で簡単にローカル開発環境を構築・管理する
SourceTreeでBacklogのGitを使うときに、権限エラーになってしまう場合の解決法
WordPressで作成した記事をSlackでシェアしたときに、抜粋文が長く表示される場合の対処法
iOSシミュレーターを使ってWebサイトを開発者ツールを見ながら実機表示で開発する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
日々の作業を短縮して、やるべきことに集中するための小技集 #1日1Tips – 2020年1月
Search Consoleに表示される「ウェブに関する主な指標」のCLSの意味と、不良時の改善方法
ATOKの文字パレットの「漢字検索」で特定の漢字を探し出す方法
Visual Studio Codeで対応する括弧に色を付けて見やすくする環境設定
Workspacesの特定ワークスペースのURLを取得・実行する方法
Chrome拡張機能の「Create Link」を使って簡単にサイトリンクを生成する
Googleアナリティクスのイベントトラッキングの設定方法
1PasswordのChrome拡張機能 (パソコンのアプリが必要)のインストール場所が分かりにくい
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
QuickTime Playerで動画のトリミングを行う方法