nuxtでエラーページにレイアウトが適用されない
404のエラーハンドリングがされたときはnoMenu.vueレイアウトが適用されるのですが
this.$nuxt.errorでハンドリングした際にdefault.vueのレイアウトが適用されてしまいます。
error.vueは共通で使用しています。
レイアウト構成
layouts
L defaut.vue
error.vue
noMenu.vue
defaut.vue
<template>
<div>
<header>通常ヘッダー</header>
<div class="main">
<nuxt />
</div>
<fotter>通常フッター</fotter>
</div>
</template>
noMenu.vue
<template>
<div>
<header>エラー用ヘッダー</header>
<div class="main">
<nuxt />
</div>
<fotter>エラー用フッター</fotter>
</div>
</template>
error.vue
<template>
<!-- 共通エラーページ -->
<div id="error" class="wapper">
<div class="error">
<div v-if="error.statusCode === 404">
<p class="error-txt">
{{error.statusCode}} <br><br>
ページが見つかりません。
</p>
</div>
<div v-else>
<p class="error-message">
エラーが発生しました。
<p class="error-txt">
繰り返し発生する場合には、ご連絡ください。<br>
(エラーコード {{error.statusCode}})
</p>
</div>
</div>
</template>
<script>
export default {
layout: 'noMenu',
props: ['error']
}
</script>