<NuxtLayout>
Вы можете использовать компонент <NuxtLayout />, чтобы активировать лейаут default в app.vue или error.vue.
<template>
  <NuxtLayout>
    некоторое содержимое страницы
  </NuxtLayout>
</template>
Входные параметры
- name: Укажите имя лейаута, который будет отображаться, это может быть строка, реактивная ссылка или вычисляемое свойство. Оно должно совпадать с именем соответствующего файла лейаута в директории- layouts/.- тип: string
- по умолчанию: default
 
- тип: 
<script setup lang="ts">
// layouts/custom.vue
const layout = 'custom'
</script>
<template>
  <NuxtLayout :name="layout">
    <NuxtPage />
  </NuxtLayout>
</template>
errorLayout.vue, он станет error-layout при передаче в качестве свойства name в <NuxtLayout />.<template>
  <NuxtLayout name="error-layout">
    <NuxtPage />
  </NuxtLayout>
</template>
- fallback: Если во входной параметр- nameпередан недействительный лейаут, то он не будет отрендерен. Укажите лейаут- fallback, который будет отображаться в таком случае. Он должен совпадать с именем соответствующего файла лейаута в директории- layouts/.- тип: string
- по умолчанию: null
 
- тип: 
Дополнительные входные параметры
NuxtLayout также принимает любые дополнительные входные параметры, которые могут потребоваться для передачи в лейаут. Затем эти пользовательские входные параметры доступны в виде атрибутов.
<template>
  <div>
    <NuxtLayout name="custom" title="Я - пользовательский лейаут">
      <-- ... -->
    </NuxtLayout>
  </div>
</template>
В приведенном выше примере значение title будет доступно с помощью $attrs.title в template или useAttrs().title в <script setup> в custom.vue.
<script setup lang="ts">
const layoutCustomProps = useAttrs()
console.log(layoutCustomProps.title) // Я - пользовательский лейаут
</script>
Transitions
<NuxtLayout /> рендерит входящий контент через <slot />, который затем оборачивается вокруг компонента Vue <Transition />, чтобы активировать переход лейаута. Чтобы это работало должным образом, рекомендуется, чтобы <NuxtLayout /> не был корневым элементом компонента страницы.
<template>
  <div>
    <NuxtLayout name="custom">
      <template #header> Некоторое содержимое шаблона хедера. </template>
    </NuxtLayout>
  </div>
</template>
Ссылка на лейаут
Чтобы получить ссылку на компонент лейаута, используйте ref.value.layoutRef.
<script setup lang="ts">
const layout = ref()
function logFoo () {
  layout.value.layoutRef.foo()
}
</script>
<template>
  <NuxtLayout ref="layout">
    лейаут по умолчанию
  </NuxtLayout>
</template>