Nuxt 提供 <NuxtClientFallback>
组件,如果其任何子元素在 SSR 中触发错误,则在客户端渲染其内容。
pages/example.vue
<template>
<div>
<Sidebar />
<!-- this component will be rendered on client-side -->
<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
:如果服务器端无法渲染,则保留备用内容。- 类型:
boolean
- 默认值:
false
- 类型:
<template>
<!-- render <span>Hello world</span> server-side if the default slot fails to render -->
<NuxtClientFallback fallback-tag="span" fallback="Hello world">
<BrokeInSsr />
</NuxtClientFallback>
</template>
插槽
#fallback
:如果插槽无法渲染,则指定在服务器端显示的内容。
<template>
<NuxtClientFallback>
<!-- ... -->
<template #fallback>
<!-- this will be rendered on server side if the default slot fails to render in ssr -->
<p>Hello world</p>
</template>
</NuxtClientFallback>
</template>