Как добавить Шапку и Подвал в Nuxt 3 - moek

Как добавить Шапку и Подвал в Nuxt 3

Опубликовано 20 декабря 2023 г.
2 мин. чтения
Как добавить Шапку и Подвал в Nuxt 3

Шапка (Header) и Подвал (Footer) подобны подставкам для книг на веб-странице — они красиво обрамляют все и сохраняют целостность. В Nuxt 3 Шапку и Подвал можно легко создать, используя особый способ создания вещей, называемых «компонентами».

Также мы исправим ошибку, когда вы могли видеть, что после перехода между страницами футер «прыгает».

Понимание компонентной архитектуры Nuxt 3

Nuxt 3 — это разбиение вещей на более мелкие части, называемые «компонентами». Это немного похоже на сборку из LEGO: вы создаете разные детали и соединяете их вместе, чтобы получилось что-то крутое. Верхние и нижние колонтитулы похожи на специальные кубики Lego, которые можно использовать снова и снова.

Как только верхний и нижний колонтитулы будут готовы, мы заставим их отображаться на всех страницах с помощью макета. Или, если хотите, вы можете выбрать, где оно будет отображаться — например, на некоторых страницах, а не на других. В этом случае вам нужно будет создать разные макеты.

Создание макета по умолчанию

В моем приложении мне не нужны разные макеты. У меня будет только один под названием default.vue. Итак, создайте папку макетов в корневом каталоге вашего проекта и создайте файл default.vue. В этом файле у нас будет этот фрагмент кода:

<template>
	<div>
		<slot />
	</div>
</template>

Как только мы закончили с макетом, нам нужно сделать его видимым на странице — добавьте макет в файл app.vue следующим образом:

<template>
	<NuxtLayout>
		<Header />
		<NuxtPage />
		<Footer />
	</NuxtLayout>
</template>
Я предполагаю, что в вашем проекте уже есть компоненты Шапки и Подвала.

Поиск неисправностей

Если вы вставляете приведенный выше код в свой проект и Футер «перепрыгивает» в верхнюю часть страницы при переходе между страницами, это потому, что нам нужно сделать нашу страницу уникальным узлом. Для этого нам нужно поместить наш <NuxtPage /> в div.

<template>
	<NuxtLayout>
		<Header />
		+ <div>
			<NuxtPage />
		+ </div>
		<Footer />
	</NuxtLayout>
</template>

Теперь этот эффект сбоя должен исчезнуть.

Заключение

Хэдер и Футер могут показаться мелочами, но они очень важны для того, чтобы веб-сайт выглядел правильно. С Nuxt 3 можно легко создавать эти детали и использовать их снова и снова.

0