vue组件中的插槽

简介: 本文介绍了Vue中组件的插槽使用,包括单个插槽和多个具名插槽的定义及在父组件中的使用方法,展示了如何通过插槽将父组件的内容插入到子组件的指定位置。

单个插槽

子组件中的插槽,通过slot标签实现。父组件通过template标签将自定义的内容插入到子组件中。

子组件:存在一个mian块的插槽

<template>
  <div class="layout">
    <div>标题</div>
    <div class="main">
      <slot></slot>
    </div>
  </div>
</template>

父组件:

<template>
  <div>
    <demo-child>
      <template>
        <div>父组件通过插槽自定义的内容</div>
      </template>
    </demo-child>
  </div>
</template>

多个插槽(具名插槽)

多个插槽的情况下,需要对不同的插槽进行区分(插槽名)

子组件:有三个插槽 header,main,footer

<template>
  <div class="layout">
    <div class="header">
      <slot></slot>
    </div>
    <div class="main">
      <slot></slot>
    </div>
    <div class="footer">
      <slot></slot>
    </div>
  </div>
</template>

父组件:通过v-slot:插槽名来进行具名插槽的插入

<template>
  <div>
    <demo-child>
      <template v-slot:header>
        <div>头部</div>
      </template>
      <template v-slot:main>
        <div>主体</div>
      </template>
      <template v-slot:footer>
        <div>底部</div>
      </template>
    </demo-child>
  </div>
</template>

父组件:通过#插槽名来进行具名插槽的插入

<template>
  <div>
    <demo-child>
      <template #header>
        <div>头部</div>
      </template>
      <template #main>
        <div>主体</div>
      </template>
      <template #footer>
        <div>底部</div>
      </template>
    </demo-child>
  </div>
</template>
相关文章
|
1天前
|
缓存 JavaScript UED
vue的动态组件 keep-alive
【10月更文挑战第6天】
7 3
|
2天前
|
存储 消息中间件 JavaScript
Vue3 多种组件通讯方法
【10月更文挑战第6天】
|
2天前
|
JavaScript
vue知识点
10月更文挑战第2天
15 3
|
1天前
|
JSON 数据可视化 JavaScript
低代码可视化教你Vue遍历循环绑定
低代码可视化教你Vue遍历循环绑定
8 0
|
1天前
|
JavaScript 开发工具
低代码开发工具教你Vue双向数据绑定
低代码开发工具教你Vue双向数据绑定
8 0
|
JavaScript
Vue的非父子组件之间传值
全局事件总线 一种组件间通信的方式,适用于任意组件间通信
|
缓存 JavaScript 前端开发
Vue Props、Slot、v-once、非父子组件间的传值....
Vue Props、Slot、v-once、非父子组件间的传值....
76 0
|
JavaScript
Vue中父子组件传值
先在⽗组件中给⼦组件的⾃定义属性绑定⼀个⽗组件的变量
|
JavaScript
vue 组件传值
vue 组件传值
76 0
|
JavaScript
vue父子组件传值
vue父子组件传值