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>

ダミーとして使うURLは適当に入力せず、決まったものを使うようにしよう
Nuxt.jsでのページ遷移設定方法(Vue Routerやnuxt-link)|Nuxt.jsの基本
JavaScriptで簡単にCookie操作ができるライブラリ「js-cookie」
SourceTreeのカスタムアクションを使って差分ファイルだけをまとめる方法
WordPressでショートコードを作成する方法
疑似クラスの:hoverと:activeのスマホでの挙動の違い
JavaScriptで特定のOSやブラウザの判定を行う方法
Visual Studio Codeで英単語のスペルチェックをしてくれる拡張機能「Code Spell Checker」
SVGを操作するためのCSSプロパティまとめ
Vue Routerでページ遷移後にトーストを表示させる方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Alfred 4のDefault Results(デフォルト検索結果)で設定できることまとめ
Google HomeやAlexaで環境音を再生する方法
1PasswordのChrome拡張機能 (パソコンのアプリが必要)のインストール場所が分かりにくい
日々の作業を短縮して、やるべきことに集中するための小技集 #1日1Tips – 2020年1月
goenvを使って、MacにGo言語をインストールする
CSS Nite in Kobe, vol.40「クライアントとのより良い関係性を築くためのコミュニケーション手法」に参加してきました
macOSのシステム環境設定「Mission Control」の設定見直し
Figmaのスタイル入門|何度も使い回す色や文字設定を管理する方法
Visual Studio Codeでパス補完機能を細かく設定して自分好みにできる拡張機能「Path Autocomplete」
Figmaでデザインデータ上の画像を圧縮してファイルサイズを軽くする「Downsize」