查看本系列文章合集click me

下载本系列文章源码click me

Teleport 是一种能够将我们的模板移动到 DOM 中 Vue app 之外的其他位置的技术。

如果我们嵌套在 Vue app 内的某个组件内部,那么处理嵌套组件的定位、z-index 和样式就会变得很困难。
使用 Teleport 就可以方便的解决组件间 css 层级问题

我们将模态内容包装在 teleport 组件中,还需要指定一个 to 属性,为该属性分配一个查询选择器,以标识目标元素。

父组件

<template><div id="d1"><h3>第一个div</h3></div><div id="d2"><h3>第二个div</h3></div><ModalButton></ModalButton>
</template>
<script lang="ts">
import { defineComponent } from "vue";
import ModalButton from "../components/ModalButton.vue";export default defineComponent({components: {ModalButton,},setup() {return {};},
});
</script>

子组件-teleport

<template><div><button @click="modalOpen = true">弹出一个模态框</button><teleport to="body"><div v-if="modalOpen" class="modal"><div>这是一个弹框,挂载在 body 元素上。<button @click="modalOpen = false">关闭</button></div></div></teleport></div>
</template>
<script lang="ts">
import { defineComponent, ref } from "vue";export default defineComponent({setup() {const modalOpen = ref(false);return { modalOpen };},
});
</script>
<style scoped>
.modal {position: absolute;top: 0;right: 0;bottom: 0;left: 0;background-color: rgba(0, 0, 0, 0.5);display: flex;flex-direction: column;align-items: center;justify-content: center;
}
.modal div {display: flex;flex-direction: column;align-items: center;justify-content: space-around;background-color: white;width: 350px;height: 300px;padding: 5px;
}
</style>

to属性为body

to属性为#d1

:::

vue3快速入门-Teleport(瞬移组件)相关推荐

  1. JavaWebDay11_BootStrap概述,快速入门,常用样式组件插件

    JavaWebDay11 课程大纲 1.BootStrap的概述和快速入门 2.BootStrap的常用样式组件插件 3.综合案例黑马旅游网 第一章 BootStrap概述和快速入门 1.BootSt ...

  2. Vue3快速入门教程

    学某个新技能时,大多数人倾向于:一开始就从头到尾完整学一遍:甚至有人翻来覆去重复学很多遍也达不到熟记于心, 我个人认为,这不是最好的办法~ 我的建议的是: 面向需求 or 面向问题来学习. 最开始你可 ...

  3. Vue3快速入门-reactive

    查看本系列文章合集click me 下载本系列文章源码click me 作用: 接收一个普通对象然后返回该普通对象的响应式代理对象 语法: const xxx = reactive({}); 响应式的 ...

  4. Android快速入门 四大应用组件之一Activity(打电话和发短信)功能练习

    3)在回调方法当中实现逻辑 */ public class MainActivity extends Activity implements OnClickListener { private Edi ...

  5. VIVE开发基础(A、快速入门篇)(Yanlz+HTC+VIVE+VR+AR+MR+XR+SteamVR+CameraRig+LightHouse+HeadSet+Teleport+立钻哥哥+)

    <HTC_VIVE开发基础> 版本 作者 参与者 完成日期 备注 HTC_VIVE_V01_1.0 严立钻 2018.08.23 <HTC_VIVE开发基础>发布说明: +++ ...

  6. Vue3.0快速入门

    一.安装 1. cdn <script src="https://unpkg.com/vue@next"></script> 2. npm $npm ins ...

  7. Transform组件C#游戏开发快速入门

    orm组件C#游戏开发快速入门大学霸 Transform组件C#游戏开发快速入门 组件(Component)可以看作是一类属性的总称.而属性是指游戏对象上一切可设置.调节的选项,如图2-8所示.本文选 ...

  8. micro-app-vue2 vue3 超详细快速入门指南 学习记录

    micro-app-vue 快速入门指南 简介 micro-app是京东零售推出的一款微前端框架,它基于类WebComponent进行渲染,从组件化的思维实现微前端,旨在降低上手难度.提升工作效率.它 ...

  9. 【组件-工具】小程序ui组件Color UI快速入门

    小程序ui组件Color UI快速入门 什么是ColorUI ColorUI是UI组件库!不是一个Js框架.相比于同类小程序组件库,ColorUI更注重于视觉交互,样式更加华丽精美,使用方法简单,只需 ...

最新文章

  1. SAP PLM 进阶 2 – 主要核心功能
  2. Tornado 学习笔记
  3. Linq let Concat
  4. 笔记-信息系统开发基础-架构设计-软件架构风格
  5. just for rest~
  6. 幅值与峰峰值的计算_电厂振动测量、计算基础及汽轮机组振动标准!
  7. MyBatis官方文档——入门部分
  8. JS设计模式——责任链模式
  9. 批量压缩pdf文件大小,pdf批量压缩步骤
  10. 基于Android手机开发平台的移动数字图书馆服务系统研究
  11. Es6里面的Set和Map集合
  12. Excel学习笔记1
  13. 第三十七章 立方体贴图总结
  14. java中换行字符怎么用?
  15. 解决ERROR 1109 (42S02): Unknown table 'xxx' in MULTI DELETE
  16. arduino编码器计数_ARDUINO旋转编码器
  17. 第二章 信息系统服务管理
  18. 代码签名是如何工作的,为什么需要代码签名?
  19. 2021年中科院接收毕业生统计!哪些高校最多?
  20. 作为一个技术Leader,要如何去提升团队的技术氛围

热门文章

  1. 暑期学习日记34:js全选功能
  2. HTML中 用CSS样式实现 文字两边添加水平线
  3. mysql定时自动备份数据库(远程备份到window本地、在linux服务器备份)
  4. 『TensorFlow2.0正式版』TF2.0+Keras速成教程·零:开篇简介与环境准备
  5. U盘安装Centos7启动过程中出现:starting dracut initqueue hook
  6. CocosCreater 项目文件结构及需纳入版本控制的文件
  7. Medkoo Biosciences 艾美捷 Atogepant说明书
  8. NR 通信中的相干时间Tc和相干带宽Wc
  9. 基于自回归整合滑动平均模型(ARIMA)的时间序列预测
  10. java 对象锁和类锁的区别