mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-23 14:15:13 +00:00
933 B
933 B
Teleports
Vue 3 provides the <Teleport>
component which allows content to be rendered elsewhere in the DOM, outside of the Vue application.
The to
target of <Teleport>
expects a CSS selector string or an actual DOM node. Nuxt currently has SSR support for teleports to body
only, with client-side support for other targets using a <ClientOnly>
wrapper.
Example: body teleport
<template>
<button @click="open = true">
Open Modal
</button>
<Teleport to="body">
<div v-if="open" class="modal">
<p>Hello from the modal!</p>
<button @click="open = false">
Close
</button>
</div>
</Teleport>
</template>
Example: client-side teleport
<ClientOnly>
<Teleport to="#some-selector">
<!-- content -->
</Teleport>
</ClientOnly>
</template>
:LinkExample{link="/examples/app/teleport"}