Vue3内置组件teleport详解

2023-11-16

teleport的作用
该组件可以将指定内容渲染到特定容器中,而不受 DOM 层级的限制
应用场景
当蒙层内容在一个组件中时,蒙层内容是无法遮挡住全部内容的,因此,需要使用teleport将蒙层内容渲染到更全局的组件中

如果不使用teleport蒙层只是在组件内部渲染

使用teleport后组件就作为body子元素渲染

 <teleport to="body">
    <div class="mask">test</div>
  </teleport>

这样就把container元素作为body元素的子节点渲染
to
to属性指定teleport组件中的子节点渲染的目标节点
disabled
disabled属性用于禁用teleport组件(当我们把disabled属性设置为true的时候被teleport包含的内容就不会被渲染到to属性指定的元素中)

<teleport to="body" :disabled="true">
    <div class="mask">test</div>
</teleport>

 实现原理
teleport组件要渲染的内容被包含在teleport组件内作为teleport组件的插槽内容,teleport组件在挂载时直接将其子节点渲染到to属性指定的元素中。teleport组件的虚拟DOM中有一个类似isTeleport的属性标识组件是否是teleport组件,如果是teleport组件就使用teleport组件的渲染逻辑处理。

transition作用:transition组件用于元素过渡动画的实现

应用场景
主要用于元素和组件的动效实现,常用于组件切换、菜单折叠与伸展的切换以及业务动画的实现

name
transition在使用时需要给一个name属性值,该属性值作为指定CSS 类名的前缀,vue提供了6个特定CSS类名,这些类名在过渡的不同阶段赋值给元素从而实现过渡效果,这些类名可以分为入场过渡和离场过渡。

name-enter-from:过渡元素入场开始时的状态
name-enter-to:过渡元素入场结束时的状态

两个类名描述了,元素进入页面中从什么状态过渡到什么状态

name-leave-from:过渡元素结束时的开始状态
name-leave-to:过渡元素结束时的结束状态

这两个类名描述了元素离开页面从什么状态过渡到什么状态

name-enter-active:过渡元素入场时过渡的规则
name-leave-active:过渡元素离场时过渡的规则

这两个类名用来控制过渡的快慢、过渡的属性等信息

实现原理
Transition 组件本身不会渲染任何额外的内容,它只是通过默认插槽读取过渡元素,并渲染需要过渡的元素。

Transition 组件的作用,就是在过渡元素的虚拟节点上添加 transition 相关的钩子函数

经过 Transition 组件的包装后,内部需要过渡的虚拟节点对象会被添加一个 vnode.transition 对象

这个对象下存在一些与 DOM 元素过渡相关的钩子函数,渲染器在渲染需要过渡的虚拟节点时,会在合适的时机调用附加到该虚拟节点上的过渡相关的生命周期钩子函数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue3内置组件teleport详解 的相关文章

  • 禁用外部点击时关闭模式

    我正在制作一些使用模式的博客物质化 但我的模态 onclick 外部和错误数据有问题 这是我的代码 main js function changepassword var user userlog val var content conte
  • 将值设置为输入字段时,西班牙语文本无法正确显示

    我正在尝试将西班牙语文本设置到输入字段 但它似乎没有正确显示 但是 如果相同的文本位于 div 内部或已设置为输入字段的值 则该文本可以正常显示 HTML div Cuenta de Ahorros Persona F iacute sic
  • JavaScript CSV 验证

    如何检查文本框中的逗号分隔值并在未找到时发出警报 如果有的话 里面应该有字符 比如A B C D function validate validate text box
  • 如何在 Yarn 中使用多个 npm 注册表?

    我正在尝试在我们的环境中设置 Yarn 0 17 9 但我的注册表有问题 我们目前使用两个注册中心 官方 npmjs 和我们自己的内部网络注册中心 Sinopia 问题是我们正在使用内部工具通过 registry 标志从一个或另一个中提取软
  • 如何在 React JS 中根据键创建动态表?

    我正在尝试在 React JS 中创建一个动态表组件 该组件当前只有一个静态标头 其中包括最常见的结果键 有些结果还包含更多信息 例如电话号码 学位 如何根据键 值的存在动态地使用附加列扩展表 我应该与state并在存在时使其可见 或者我应
  • 为什么我的事件处理程序会导致“不是函数”错误,但可以在 Firebug 控制台中运行?

    使用JQuery 1 2 6 在Firefox 3和IE7上进行测试 我有一些非常基本的 JavaScript 代码来重新加载验证码图像 在我的 JS 文件中 我有 var Captcha count 0 Refresh function
  • Mongoose 查询执行后回调函数从未被调用

    以下是我的代码 mongoose connect mongodb localhost mydatabase var db mongoose connection db on error console error bind console
  • D3更新circle-pack数据新节点与现有节点重叠

    我正在关注一般更新模式 http bl ocks org mbostock 3808234但在分层方面存在问题 使用圆形包装布局 我pack新数据 update enter and exit圆形元素 然而 当新元素enter 它们重叠upd
  • 如何使传单圆圈标记可拖动?

    使用传单 我创建了一个L circleMarker我希望它是可拖动的 var marker L circleMarker new L LatLng 48 94603 2 25912 draggable true bindPopup Circ
  • 每n秒执行一次函数

    我制作了这个在 10 秒后点击链接的代码片段 function timeout window setTimeout function img left click 1000 setTimeout timeout 1000 timeout 我
  • 有没有办法在 React 中自动播放音频而不使用 onClick 事件?

    我在尝试在 componentDidMount 中播放音频时收到此错误 未捕获 承诺中 DOMException play 失败 因为用户没有先与文档交互 componentDidMount document getElementById
  • jslint 配置 |传递全局变量

    我如何提醒 jshint 我有全局变量 即命名它们 我知道你可以做到这一点 但我不记得语法了 我在这里定义了一个全局的 function window glob1 local var 稍后像这样使用 不同的 IIFE function gl
  • 纯 JS 相当于 Jquery eq()

    jquery 的纯等价物是什么eq 例如 我怎样才能实现 class1 class2 eq 0 text 1254 在纯 JavaScript 中 要获取数组中的元素索引 可以使用 在 JavaScript 中 因此 要重现您的代码 您可以
  • vuejs 模板和 asp.net 部分视图,好的做法吗?

    我在网站中使用 Vue js 并将模板添加到 html 代码中 并将 js 代码添加到单个 js 文件中 所以我不想使用 vue Vuefy Browserfy 方法 而是稍后捆绑并缩小我的 js 文件 由于我必须使用 Asp Net MV
  • 在 UIWebView 中禁用复制和粘贴

    几乎 我已经尝试了一切方法来禁用复制 粘贴UIWebView但对我来说没有任何作用 我正在加载我的UIWebView来自字符串 字符串数组 如下所示 webView loadHTMLString NSString stringWithFor
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • 只保留 A-Z 0-9 并使用 javascript 从字符串中删除其他字符

    我正在尝试验证字符串以使它们成为有效的网址 我只需要保留 A Z 0 9 并使用以下命令从字符串中删除其他字符javascript or jquery 例如 贝儿餐厅 我需要将其转换为 百丽餐厅 所以字符被删除 只保留 A Z a z 0
  • 使用 nockjs 和 jest 进行 Promise/异步单元测试的代码覆盖率问题

    我使用 NockJS 和 Jest 为 React 应用程序编写了一个简单的 API 调用单元测试 如下所示 AjaxService js export const AjaxService post url data headers gt
  • 如果 jquery 验证激活,如何在单选按钮中放置红色边框[重复]

    这个问题在这里已经有答案了 我的问题是 如果 jquery 验证像示例图片中那样激活 我无法使单选按钮具有红色边框 任何人都可以帮我解决这个问题吗 http i38 photobucket com albums e149 eloginko
  • Html5画布最热门的任意形状

    我正在尝试开发可以在画布中渲染图像和文本的程序 我尝试处理画布中图像的点击 但它适用于可矩形图像 我的问题 您是否知道处理单击画布中图像的可见部分 非透明部分 的解决方案或框架 我正在寻找 ActionScript hitTestObjec

随机推荐

  • 《机器学习》理论——速读学习2 常用方法(3)

    机器学习 理论 速读学习2 常用方法 3 该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 time 2021 12 24 学习目标 我需要了解神经网络除了工程化部分之外的更多内容 以便于在实际有效数据中可以获得抽象
  • ArcGis Server开发Web GIS新手体验(一)

    ArcGIS Server是ESRI公司最新推出的服务器端品 主要可以实现两大功能 强大的Web GIS系统的开发 分布式GIS系统的开发 ArcGIS Server其内核与ArcGIS Desktop和ArcGIS Engine一样 都是
  • Oracle数据库中日期的操作、主键自增与分页查询

    1 oracle数据库中的日期 在Oracle数据库中 DATE类型的存储范围为公历前4712年1月1日至公历后 9999年12月31日 这个日期范围也被称为Oracle库中支持的 Gregorian calendar 尽管在实际应用中一般
  • react 事件监听

    react事件监听 在react js里监听事件很容易 需要给被监听的事件元素加上属性类似于onclick onkeydown这样的属性 例如我们现在要给title 加上点击时间的监听 class Title extends Compone
  • 懒人神器:自动生成单元测试插件 Squaretest

    你是否常常因代码需编写单元测试而痛苦不堪 你是否因单元测试历史债而惆怅不断 Squaretest或许能帮你消除痛苦消除惆怅 前言 一 Squaretest是什么 二 使用步骤 1 引入插件 2 使用步骤 总结 背景 近来公司增加了代码质量门
  • Matlab_牛顿迭代法解非线性方程

    例 用牛顿迭代法 取x初值为1 5 解算非线性方程 x 3 x 1 0 的根 程序代码 manewton m function x manewton fun dfun x0 ep N if nargin lt 5 N 500 end if
  • matlab画一个正弦函数y=sin(x)(全网最简便,没有之一)

    本博日常打卡 x 0 pi 100 2 pi y sin x plot x y plottools 说明 plottools on 按照您上次使用时的布局在当前图窗上显示图窗选项板 绘图浏览器和属性编辑器 不带参数的 plottools 与
  • live reload enabled是什么意思_老外说“Pigheaded”什么意思?猪头三?才不是

    最近 猪肉价格 一路飞涨 老妈买完菜 每天都在唠唠叨叨 今天排骨又涨了xx块钱 五花肉又涨了xx 邻居家长里短 聊得都是 猪肉 简直像小猪佩奇花一亿买了 小区热搜榜 似的 所以 小编就想着倒腾一篇 猪猪 相关的英语知识 分享给大家 咳咳 蹭
  • 初级5 题目一 认识哈希函数和哈希表

    1 哈希函数的定义及性质 1 哈希函数是函数 所以接收一个变量 返回一个值 接收的变量 其定义域理论上是无穷大 返回的值是哈希值 也就是每个变量都能生成对应的哈希值 2 哈希函数的值域是有穷的 哈希值有穷个 并非无穷大 哈希函数相当于把无穷
  • 作用域&内存空间

    作用域 C 语言编译器可以确认 4 种不同类型的作用域 代码块作用域 文件作用域 原型作用域和函数作用域 文件作用域 全局变量 函数名 链接属性 简单的来说 编译器将你的源文件变成可执行程序需要经过两个步骤 编译和链接 编译过程主要是将你写
  • nginx基本介绍(安装、常用命令、反向代理)

    文章目录 引言 一 nginx是什么 二 nginx的下载和安装 1 下载 2 windows下安装 3 运行 4 外部服务器无法访问问题 三 nginx的常用命令 四 nginx config 五 FileZilla 1 什么是FileZ
  • 数字证书 X509详解 && python解析SSL证书

    数字证书 数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据 提供了一种在Internet上验证您身份的方式 其作用类似于司机的驾驶执照或日常生活中的身份证 它是由一个由权威机构 CA机构 又称为证书授权 Certificate Au
  • C++模板实参类型推导

    1 什么是模板 C 特性之一 批量生成代码的手段 2 模板有什么应用 1 泛型编程 例如 std vector 2 模板元编程 利用模板的特化等特性 在编译期计算出结果 例如 3 模板实参类型推导 虽然模板这么牛逼 但是今天我们不讲上述两个
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 解决pip更新问题.WARNING: You are using pip version 19.2.3, however version 20.2.1 is available.

    一开始遇到这个问题在网上找了很多发现解决不了问题的根本 一开始我以为是网络的问题 后来一直是这样 然后有大佬告诉我你可能python版本太高了 他说卸载了换3 7的 3 8的很多功能都用不了 不过这样是很麻烦的 因为之前也安装了一些库 如果
  • 云服务器上Wamp搭建网站

    说明 想要在云服务器搭建网站 且需要被外网访问浏览的苦逼程序员可以参考本文 前提是你已经购买好了服务器以及公网IP 近一个月买了3次服务器 使用wamp搭建了3次网站了 本以为最后一次会轻车熟路 但是东搞西搞还是花了1个多小时 看来还是要把
  • (附源码)python+mysql+基于协同过滤算法的书籍推荐 毕业设计101555

    摘 要 21世纪的今天 随着社会的不断发展与进步 人们对于信息科学化的认识 已由低层次向高层次发展 由原来的感性认识向理性认识提高 管理工作的重要性已逐渐被人们所认识 科学化的管理 使信息存储达到准确 快速 完善 并能提高工作管理效率 促进
  • “晓白”学python-科普篇(3)-那些和python相关的岗位之python-web开发工程师

    老袁啊 python有这么广泛的应用 那我学好python能不能找到一份和python相关的工作呢 晓白问道 老袁听了回答道 你这个问题太笼统了 实际上你想问的是两个问题 一个就是那个工作岗位和python是相关的 第二个就是这些工作岗位对
  • nginx 正向代理 配置 http 和 https

    nginx 正向代理 配置 http 和 https 应用场景 同学A 所在公司对外网有所限制 借助云服务器nginx正向代理 实现正常浏览公网资料 服务端 云服务器 安装nginx cd usr local wget http nginx
  • Vue3内置组件teleport详解

    teleport的作用 该组件可以将指定内容渲染到特定容器中 而不受 DOM 层级的限制应用场景 当蒙层内容在一个组件中时 蒙层内容是无法遮挡住全部内容的 因此 需要使用teleport将蒙层内容渲染到更全局的组件中 如果不使用telepo