陈广安个人网站
会写代码的咸鱼
陈广安个人网站阿里云盘资源
陈广安个人网站网盘资源搜索
“ 梦想还是要有的,万一实现了呢!”
— 马云

vue3.2,组件中,匿名插槽,具名插槽,作用域插槽

创建时间:2022-05-05

插槽 向组件内部“指定位置”传递内容


匿名插槽

创建组件 sub.vue 定义匿名插槽

<template>
  <div class="root">
    <slot>匿名插槽</slot>
  </div>
</template>


匿名插槽使用

<template>
  <a-sub>
    <template #default>
      <h1>使用匿名插槽</h1>
    </template>
  </a-sub>
</template>

<script setup>
  import aSub from "@/components/sub.vue";
</script>


具名插槽

定义

<template>
  <div class="root">
    <slot name="header">具名插槽</slot>
    <slot>匿名插槽</slot>
  </div>
</template>

使用

<template>
  <a-sub>
    <template #default>
      <h1>使用匿名插槽</h1>
    </template>
    <template #header>
      <h1>使用具名插槽</h1>
    </template>
  </a-sub>
</template>

<script setup>
  import aSub from "@/components/sub.vue";
</script>


作用域插槽

作用域插槽用来 父组件 给 子组件传参

<template>
  <div class="root">
    <slot name="header" :data="{data:'123'}">具名插槽</slot>
    <slot :obj="{data:'456'}">匿名插槽</slot>
  </div>
</template>

使用

<template>
  <a-sub>
    <template #default="aaa">
      <h1>使用匿名插槽{{aaa.data.data}}</h1>
    </template>
    <template #header="bbb">
      <h1>使用具名插槽{{bbb.obj.data}}</h1>
    </template>
  </a-sub>
</template>

<script setup>
  import aSub from "@/components/sub.vue";
</script>