跳到主要内容

<Teleport>

<Teleport> 组件将组件传送到 DOM 中的另一个位置。

<Teleport>to 目标期望一个 CSS 选择器字符串或实际的 DOM 节点。Nuxt 目前仅对传送到 #teleports 的 teleport 提供 SSR 支持,对于其他目标需要配合 <ClientOnly> 包裹来实现客户端支持。 :

传送到 Body

<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>

客户端传送

<template>
  <ClientOnly>
    <Teleport to="#some-selector">
      <!-- 内容 -->
    </Teleport>
  </ClientOnly>
</template>
查看示例