nuxt logo

文档翻译(非官方)

<Teleport>

<Teleport> 组件将组件传送到 DOM 中的不同位置。

<Teleport>to 目标需要一个 CSS 选择器字符串或一个实际的 DOM 节点。Nuxt 目前仅支持传送到 #teleports 的 SSR,对于其他目标的客户端支持需要使用 <ClientOnly> 包装。

Body Teleport

<template>
  <button @click="open = true">
    打开模态框
  </button>
  <Teleport to="#teleports">
    <div v-if="open" class="modal">
      <p>来自模态框的问候!</p>
      <button @click="open = false">
        关闭
      </button>
    </div>
  </Teleport>
</template>

Client-side Teleport

<template>
  <ClientOnly>
    <Teleport to="#some-selector">
      <!-- 内容 -->
    </Teleport>
  </ClientOnly>
</template>
示例代码的编辑与预览examples > advanced > teleport