Nuxt.js-如何使用单独的布局?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nuxt.js-如何使用单独的布局?相关的知识,希望对你有一定的参考价值。

在我的默认布局中,每个页面都有页眉和页脚。但是在error pages中,我需要一个没有页眉和页脚的整页。因此,我进行了另一种布局,并在export default部分中对其进行了调用。但它仍然具有页眉和页脚。

default.vue
<template>
  <div>
    <app-header></app-header>
    <nuxt />
    <app-footer></app-footer>
  </div>
</template>

<script>
import Header from '~/components/Header.vue'
import Footer from '~/components/Footer.vue'
export default {
    components: {
    'app-header': Header,
    'app-footer': Footer,
    }
}
</script>
error.vue
<template>
  <div class="container">
    <h1 v-if="error.statusCode === 404">Page not found</h1>
    <h1 v-else>An error occurred</h1>
    <nuxt-link to="/">Home page</nuxt-link>
  </div>
</template>

<script>
export default {
  props: ['error'],
  layout: 'fullpage' // you can set a custom layout for the error page
}
</script>
fullpage.vue
<template>
  <div>
    <nuxt />
  </div>
</template>

我错了?

答案

您可以这样做

    1 - create a layouterror.vue file inside layouts folder (Put nothing inside just the basic code).

    <template>
      <div>
      </div>
    </template>
    <script>
      export default {}
    </script>
    <style>
    </style>

    2 - create a error.vue file inside layouts folder.
    3 - and pass your error file a layout like this =>

   export default {
    layout: 'layouterror' 
   }

也许有帮助谢谢!

另一答案

打开您的名为layouts的Nuxt项目文件夹,创建一个名为error.vue的文件,它将自动检测到所有未找到的404错误”。

error.vue

<template>
  <div class="error-page">
    <h1>Oops, something went wrong!</h1>
    <p>Back to <a href="/">safety</a>!</p>
  </div>
</template>

<style scoped>
.error-page {
  text-align: center;
}

.error-page a {
  text-decoration: none;
  color: red;
}

.error-page a:hover,
.error-page a:active {
  color: salmon;
}
</style>

以上是关于Nuxt.js-如何使用单独的布局?的主要内容,如果未能解决你的问题,请参考以下文章

Nuxt.js - 如何在布局内使用布局

如何将 npm 包中的 JS 文件包含到 Nuxt.js 中的单独页面

nuxt.js1-6

Vue.js 和 Nuxt.js

如何使用 jest 在 nuxt.js 中测试 head()

如何在 nuxt.js 上从子组件获取父组件的值?