vue3 Teleport

vue3 Teleport

使用场景

当组件模板的一部分逻辑属于该组件,但是技术上这一部分需要放到其他地方。
最典型的使用场景就是模态框

基础使用

字面意思:远距离传送

vue3中的作用就是将teleport标签下的元素传送到指定位置

如下示例将Test1中的teleport下的span传送到Test2.aa元素下

// App.vue
<template>
	<test2/>
	<test1 msg="Hello,Teleport"></test1>
</template>

<script>
	import Test1 from './components/Test1'
	import Test2 from './components/Test2'

	export default {
		components: {
			Test2,
			Test1
		}
	}
</script>
// Test1.vue
<template>
	<div>
		<teleport to=".aa">
			<span>{{msg}}</span>
		</teleport>
	</div>
</template>

<script>
	export default {
		props: {
			msg: String
		}
	}
</script>
// Test2.vue
<template>
	<div>test2:
		<span class="aa"></span>
	</div>
</template>

<script>
	export default {}
</script>

异常处理 -Failed to locate Teleport target with selector “.aa”. Note the target element must exist before the component is mounted

意思是Teleport参数to指向的目标元素必须在teleport标签所在组件挂载之前已存在

解决办法:目标元素不能是teleport标签所在组件的父组件或子组件

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bdawn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值