Vue 传送
传送元素的脚本和样式
即使某些内容从带有 <Teleport>
标签的组件中移出,组件内 <script>
和 <style>
标签中的相关代码仍然适用于移动的内容。
示例
<style>
和 <script>
标签中的相关代码仍然适用于传送的 <div>
标签,即使它在编译后不再位于组件内部。
CompOne.vue
:
<template>
<div>
<h2>组件</h2>
<p>这是组件的内部。</p>
<Teleport to="body">
<div
id="redDiv"
@click="toggleVal = !toggleVal"
:style="{ backgroundColor: bgColor }"
>
Hello!<br>
Click me!
</div>
</Teleport>
</div>
</template>
<script>
export default {
data() {
return {
toggleVal: true
}
},
computed: {
bgColor() {
if (this.toggleVal) {
return 'lightpink'
}
else {
return 'lightgreen'
}
}
}
}
</script>
<style scoped>
#redDiv {
margin: 10px;
padding: 10px;
display: inline-block;
}
#redDiv:hover {
cursor: pointer;
}
</style>
运行示例 »