* docs: implement new website theme * chore: rename dirs * chore: update build * lint fix * chore: update deps * fix: include node_modules in esbuild step * chore: update deps * Update .gitignore * chore: update theme version * up * up * fix: use svg for illustration * chore: update to 0.0.12 * chore: force parse5 resolution * stay with build * feat: always display first home section * Update yarn.lock * chore: update theme * fix lint * docs: update home title * chore: update website theme version * Update docs/content/0.index.md Co-authored-by: pooya parsa <pyapar@gmail.com> * Update docs/content/0.index.md Co-authored-by: pooya parsa <pyapar@gmail.com> * up * chore: bump theme version * up * chore: up * up up and up * chore: generate * fix: boolean value * feat: new images * update again * chore: up * ouep * chore: up Co-authored-by: Daniel Roe <daniel@roe.dev> Co-authored-by: Clément Ollivier <clement.o2p@gmail.com> Co-authored-by: pooya parsa <pyapar@gmail.com>
1.7 KiB
title |
---|
<NuxtLayout> |
<NuxtLayout>
You can use <NuxtLayout />
component to activate default
layout on app.vue
or error.vue
.
<template>
<NuxtLayout>
some page content
</NuxtLayout>
</template>
<NuxtLayout />
can be used to override default
layout on app.vue
, error.vue
or even page components found in the /pages
directory.
name
prop
<NuxtLayout />
component accepts the name
prop, which you can pass to use a non-default layout, where name
can be a static string, reactive reference or a computed property. It must match the name of the corresponding layout file in the /layouts
directory.
Examples
<template>
<NuxtLayout :name="layout">
<NuxtPage />
</NuxtLayout>
</template>
<script setup>
// layouts/custom.vue
const layout = 'custom'
</script>
::alert{icon=👉}
Please note the layout name is normalized to kebab-case, so if your layout file is named errorLayout.vue
, it will become error-layout
when passed as a name
property to <NuxtLayout />
.
::
<template>
<NuxtLayout name="error-layout">
<NuxtPage />
</NuxtLayout>
</template>
Layout and Transition
<NuxtLayout />
renders incoming content via <slot />
, which is then wrapped around Vue’s <Transition />
component to activate layout transition. For this to work as expected, it is recommended that <NuxtLayout />
is not the root element of the page component.
<template>
<div>
<NuxtLayout name="custom">
<template #header> Some header template content. </template>
</NuxtLayout>
</div>
</template>
::ReadMore{link="/guide/directory-structure/layouts"} ::