<NuxtClientFallback>
Nuxt предоставляет компонент NuxtClientFallback для отображения его содержимого на клиенте, если какой-либо из его дочерних элементов вызывает ошибку в SSR
Nuxt предоставляет компонент <NuxtClientFallback> для отображения его содержимого на клиенте, если какой-либо из дочерних элементов падает с ошибкой при SSR.
Этот компонент является экспериментальным, и для его использования необходимо включить опцию
experimental.clientFallback в вашем nuxt.config.pages/example.vue
<template>
<div>
<Sidebar />
<!-- этот компонент будет отображаться на стороне клиента -->
<NuxtClientFallback fallback-tag="span">
<Comments />
<BrokeInSSR />
</NuxtClientFallback>
</div>
</template>
События
@ssr-error: Событие генерируется, когда дочерний элемент вызывает ошибку в SSR. Обратите внимание, что это будет запущено только на сервере.<template> <NuxtClientFallback @ssr-error="logSomeError"> <!-- ... --> </NuxtClientFallback> </template>
Входные параметры
placeholderTag|fallbackTag: Укажите резервный тег, который будет отображаться, если слот не будет отображаться на сервере.- тип:
string - по умолчанию:
div
- тип:
placeholder|fallback: Укажите резервный контент, который будет отображаться, если слот не может быть отображён.- тип:
string
- тип:
keepFallback: приtrueрезервный вариант сохраняется, если его не удалось отрендерить на сервере.- тип:
boolean - по умолчанию:
false
- тип:
Свойства
placeholder и fallback выводят содержимое как необработанный HTML. Не передавайте в них недоверенный пользовательский ввод — это может привести к XSS. Для динамического контента с корректным экранированием используйте слоты #fallback или #placeholder.<template>
<!-- на сервере рендерится <span>Привет, мир</span>, если слот по умолчанию не удаётся отрендерить -->
<NuxtClientFallback
fallback-tag="span"
fallback="Привет, мир"
>
<BrokeInSSR />
</NuxtClientFallback>
</template>
Слоты
#fallback: укажите контент, который будет отображаться на стороне сервера, если слот не может отобразиться
<template>
<NuxtClientFallback>
<!-- ... -->
<template #fallback>
<!-- это будет отображаться на сервере, если слот по умолчанию не удаётся отрендерить при SSR -->
<p>Привет, мир</p>
</template>
</NuxtClientFallback>
</template>