# Vue3教程 - 19 插槽
和 Vue2 中的用法基本一样。
Vue 中的插槽(Slot)是一种组件间通信的技术,它允许父组件向子组件中插入 HTML 结构或组件。
使用场景,在不同的父组件中使用某个子组件的时候,想要动态的渲染子组件的内容。子组件的部分内容可以从父组件中“传递”到子组件进行显示。
# 19.1 插槽是什么
下面看一个例子
写一个子组件:ChildCom.vue
<template>
<div>
<div>我是子组件</div>
</div>
</template>
<!-- setup -->
<script lang="ts" setup>
</script>
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
写一个父组件:HomePage.vue
。
在父组件中使用子组件 ChildCom
。
<template>
<div>
<div>我是父组件</div>
<ChildCom>
<p>测试一下,把内容写在这里,看是否能否显示</p>
</ChildCom>
</div>
</template>
<!-- setup -->
<script lang="ts" setup>
import ChildCom from '@/components/ChildCom.vue';
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
运行代码,效果如下:
可以看到在父组件中,使用子组件的时候,在子组件标签中间添加的内容是看不见的。
那如果我想实现显示父标签中,子标签中间添加的内容,该怎么办?
内容未完......
← 18-路由 20-引入第三方组件 →