Vue3新特性——Teleport传送门

把组件的Dom元素传送到其他位置展示。

使用情况举例:
有时候我们在一个组件中点击按钮,想要跳出一个蒙层把整个屏幕都遮盖住。
在之前的项目中我试过这种蒙层,但是用的是具体数值,这样在适应性上可能就比较low了。如果使用以下代码就能实现完美适应屏幕大小了。

{
  top:0;
  right:0;
  buttom:0;
  left:0;
}

但是这个时候根据子绝父相就会出现问题,如果我们的这个组件也是采用定位(absolute、relative、fixed)了呢?这个蒙层就只能覆盖这个组件了。

这个时候就要使用这个新特性Teleport传送门了。
通过teleport标签可以将里面包裹的元素或者组件挂载到别的Dom元素上(原本元素上就没有他了,但是可以触发事件)。像上面这种例子,使用 to = ‘body’ 就能解决问题

<teleport to = 'xxx'>
  <div>111</div>
</teleport>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值