Vue插槽的使用

简介: Vue插槽是Vue组件中一种非常强大和灵活的功能,它允许你在组件的模板中预留出一些位置,以便在使用该组件的时候,动态地将内容插入到这些位置上。

33. Vue插槽的使用

1. 定义

Vue插槽是Vue组件中一种非常强大和灵活的功能,它允许你在组件的模板中预留出一些位置,以便在使用该组件的时候,动态地将内容插入到这些位置上。

Vue插槽分为匿名插槽具名插槽作用域插槽匿名插槽可以被任何未命名的插槽内容使用,具名插槽可以为多个插槽提供不同的名称以便于标识和使用,作用域插槽允许你在父组件中使用子组件中的数据。

2. 匿名插槽

<!-- slotCom.vue -->
<template>
  <div class="slot">
    <h4>这是匿名插槽组件</h4>
    <slot>
      默认内容,会被显示插入的内容替代,用于没有插入内容时显示
      <!-- 插槽内容会显示在这里 -->
    </slot>
  </div>
</template>

<!-- pages.vue -->
<script>
import SlotCom from "./slotCom.vue"
</script>
<template>
  <div class="pages">
    <SlotCom>
      在此写入内容
    </SlotCom>
  </div>
</template>

3. 具名插槽

<!-- slotCom.vue -->
<template>
  <div class="slot">
    <h4>这是具名插槽组件</h4>
    <slot name="header"></slot>
    <slot name="footer"></slot>
  </div>
</template>

<!-- pages.vue -->
<script>
import SlotCom from "./slotCom.vue"
</script>
<template>
  <div class="pages">
   <SlotCom>
      <template v-slot:header>
        header插槽的内容
      </template>
      <!-- 具名插槽简写 -->
      <template #footer>
        footer插槽的内容
      </template>
    </SlotCom>
  </div>
</template>

4. 作用域插槽

<!-- slotCom.vue -->
<template>
  <slot text="propsText" count="1"></slot>
</template>

<!-- pages.vue -->
<script>
import SlotCom from "./slotCom.vue"
</script>
<template>
  <div class="pages">
    <SlotCom>
      <template v-slot="slotProps">
        {
  { slotProps.text }} -- {
  { slotProps.count }}
      </template>
    </SlotCom>
  </div>
</template>
相关文章
|
2天前
|
JavaScript
vue中watch的用法
vue中watch的用法
|
2天前
|
JavaScript 前端开发
vue动态添加style样式
vue动态添加style样式
|
2天前
|
JavaScript 前端开发
Vue项目使用px2rem
Vue项目使用px2rem
|
1天前
|
JavaScript API
vue学习(13)监视属性
vue学习(13)监视属性
10 2
|
1天前
|
JavaScript
vue 函数化组件
vue 函数化组件
|
1天前
|
JavaScript
vue知识点
vue知识点
7 2
|
1天前
|
JavaScript 前端开发
vue学习(15)watch和computed
vue学习(15)watch和computed
9 1
|
1天前
|
JavaScript
vue学习(14)深度监视
vue学习(14)深度监视
10 0
|
6天前
|
JavaScript
Vue组件传值异步问题--子组件拿到数据较慢
Vue组件传值异步问题--子组件拿到数据较慢
10 0
|
6天前
|
缓存 JavaScript
Vue中的keep-alive是什么意思?以及如何使用
Vue中的keep-alive是什么意思?以及如何使用