Телепорты в Vue 3 — это способ рендеринга содержимого компонента в другое место DOM-дерева, не привязанное к фактическому расположению компонента в иерархии.
Это полезно для:
<body> или <html>, избегая проблем с z-index и обрезкой родительскими элементами.Синтаксис использования <Teleport>:
html
Атрибут to указывает целевой контейнер в DOM, куда будет перемещено содержимое <Teleport>. Целью может быть:
#modal-target, .container).document.getElementById() или document.querySelector()).Если целевой контейнер не найден, содержимое не будет отображено.
Пример структуры HTML:
html
Состояние компонента (showModal в примере выше) и его логика остаются связанными с компонентом, даже если его часть рендерится в другом месте. Это делает телепорты мощным инструментом для управления сложными пользовательскими интерфейсами со всплывающими элементами.