O diretório layouts
Os esquemas (layouts) são de uma grande ajuda sempre que você quiser mudar a aparência e a emoção da sua aplicação Nuxt. Seja quando você quiser incluir uma barra lateral ou ter um esquema distinto para o mobile e desktop.
O esquema padrão
Você pode estender o esquema principal ao adicionar um ficheiro layouts/default.vue. Ele será usado para todas as páginas que não tiverem um esquema especificado. Certifique-se de adicionar o componente <Nuxt> quando estiver criando um esquema para efetivamente incluir o componente de página.
Todo o que você precisa dentro do seu esquema são três linhas de código que renderizarão o componente da página.
<template>
<Nuxt />
</template>
Você pode adicionar aqui mais componentes tais como Navegação (Navigation), Cabeçalho (Header), Rodapé (Footer) etc.
<template>
<div>
<TheHeader />
<Nuxt />
<TheFooter />
</div>
</template>
true então não há necessidade de adicionar qualquer declaração import para os seus componentes.O esquema personalizado
Todo ficheiro de (alto-nível) dentro do diretório layouts criará um esquema personalizado acessível com a propriedade layout dentro dos componentes da página.
Vamos dizer que queremos criar um esquema de blogue e guardar ele em layouts/blog.vue:
<template>
<div>
<div>My blog navigation bar here</div>
<Nuxt />
</div>
</template>
Depois você tem de dizer para as páginas usarem o seu esquema personalizado
<script>
export default {
layout: 'blog',
// Ou
layout (context) {
return 'blog'
}
}
</script>
A página de erro
A página de erro é um componente de página que é sempre exibido quando um erro ocorre (que não seja lançado no lado do servidor).
layouts, ele deve ser tratado como uma página.Como já foi mencionado acima, este esquema é especial e você não deve incluir o <Nuxt> dentro do seu modelo (template). Você deve ver este esquema como um componente exibido quando um erro ocorre (404, 500 etc). Similar aos outros componentes de página, você pode definir um esquema personalizado para a página de erro.
Você pode personalizar a página de erro ao adicionar um ficheiro layouts/error.vue:
<template>
<div class="container">
<h1 v-if="error.statusCode === 404">Page not found</h1>
<h1 v-else>An error occurred</h1>
<NuxtLink to="/">Home page</NuxtLink>
</div>
</template>
<script>
export default {
props: ['error'],
layout: 'blog' // você pode definir um esquema personalizado para a página de erro
}
</script>
Clément Ollivier
Daniel Roe
Alex Hirzel
Ajeet Chaulagain
René Eschke
Sébastien Chopin
Nico Devs
Muhammad
Nazaré da Piedade
Naoki Hamada
Tom
Yann Aufray
Anthony Chu
Nuzhat Minhaz
Lucas Portet
Richard Schloss
Xanzhu
bpy
Antony Konstantinidis
Hibariya
Jose Seabra
Eze
Florian LEFEBVRE
Lucas
Julien SEIXAS
Hugo
Sylvain Marroufin
Spencer Cooley
Piotr Zatorski
Vladimir Semenov
Harry Allen
kazuya kawaguchi
Unai Mengual
Hyunseung Lee
Alexandre Chopin
pooya parsa
Nick Medrano
Mosaab Emam
Iljs Путлер Капут
Heitor Ramon Ribeiro
Nero
Yoon Han
Ikko Ashimine
FamCodings
Ayouli
F. Hinkelmann
felipesuri
Christophe Carvalho Vilas-Boas
Leoš Literák
Trizotti
Marcello Bachechi
Rodolphe
Thomas Underwood
Shek Evgeniy
Lukasz Formela
Hugo Torzuoli