通过 100 多个技巧学习 Nuxt!

<ClientOnly>

使用 <ClientOnly> 组件仅在客户端渲染组件。

<ClientOnly> 组件用于专门在客户端渲染组件。

默认插槽的内容将从服务器构建中进行 tree-shaking。(这确实意味着当渲染初始 HTML 时,其中组件使用的任何 CSS 都可能不会内联。)

属性

  • placeholderTag | fallbackTag:指定在服务器端渲染的标签。
  • placeholder | fallback:指定在服务器端渲染的内容。
<template>
  <div>
    <Sidebar />
    <!-- The <Comment> component will only be rendered on client-side -->
    <ClientOnly fallback-tag="span" fallback="Loading comments...">
      <Comment />
    </ClientOnly>
  </div>
</template>

插槽

  • #fallback:指定在服务器上渲染并在浏览器中安装 <ClientOnly> 之前显示的内容。
pages/example.vue
<template>
  <div>
    <Sidebar />
    <!-- This renders the "span" element on the server side -->
    <ClientOnly fallbackTag="span">
      <!-- this component will only be rendered on client side -->
      <Comments />
      <template #fallback>
        <!-- this will be rendered on server side -->
        <p>Loading comments...</p>
      </template>
    </ClientOnly>
  </div>
</template>