Layout
I Layout sono componenti Astro utilizzati per fornire una struttura dell’interfaccia utente riutilizzabile, ad esempio un modello di pagina.
Usiamo convenzionalmente il termine “layout” per i componenti Astro che forniscono elementi comuni dell’interfaccia utente condivisi tra le pagine come intestazioni, barre di navigazione e piè di pagina. Un tipico componente di layout Astro fornisce pagine Astro, Markdown o MDX con:
-
una shell di pagina (tag
<html>,<head>e<body>) -
uno
<slot />per specificare dove deve essere inserito il contenuto della singola pagina.Ma non c’è niente di speciale in un componente di layout! Possono accettare proprietà e importare e utilizzare altri componenti come qualsiasi altro altro componente Astro. Possono includere componenti del framework dell’interfaccia utente (EN) e script lato client (EN). Non devono nemmeno fornire una shell di pagina intera e possono invece essere utilizzati come modelli di interfaccia utente parziali.
I componenti del layout vengono comunemente posizionati in una directory src/layouts nel progetto per l’organizzazione, ma questo non è un requisito; puoi scegliere di posizionarli ovunque nel tuo progetto. Puoi anche collocare i componenti del layout accanto alle tue pagine prefissando i nomi dei layout con _ (EN).
Layout di esempio
Sezione intitolata “Layout di esempio”---import BaseHead from '../components/BaseHead.astro';import Footer from '../components/Footer.astro';const { title } = Astro.props;---<html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <BaseHead title={title}/> </head> <body> <nav> <a href="#">Home</a> <a href="#">Posts</a> <a href="#">Contact</a> </nav> <h1>{title}</h1> <article> <slot /> <!-- il tuo contenuto viene inserito qui --> </article> <Footer /> </body></html>