HsuMoonHao HsuMoonHao
首页
  • 前端文章

    • JavaScript
    • 数据结构与算法
  • vue3相关

    • 《JavaScript教程》
GitHub (opens new window)

HsyMoonHao

前端界的小学生
首页
  • 前端文章

    • JavaScript
    • 数据结构与算法
  • vue3相关

    • 《JavaScript教程》
GitHub (opens new window)
  • 前端-设计模式

  • js数据结构与算法

  • js程序设计

  • vue3相关

    • 01.虚拟Dom与diff算法
    • 计算属性
    • watch 侦听器
    • watchEffect高级侦听器
    • 组件和生命周期
    • bem架构
    • 父子组件传值
    • slot插槽
    • provide和inject
    • v-model
    • 自定义指令
    • 自定义hooks
  • 微前端

  • react

  • 前端
  • vue3相关
HsyMoonHao
2023-05-17

slot插槽

# slot插槽

分为具名插槽,匿名插槽(只有1个), 动态插槽,作用域插槽

  1. 使用
<template>
  <div class="wrapper">
    <div class="header">
      <slot name="header"></slot>
    </div>
    <div class="center">
      <!-- 作用域传参:直接采用v-bind的形式 -->
      <slot name="center" :names="names"></slot>
    </div>
    <div class="footer">
      <slot name="footer"></slot>
    </div>
  </div>
</template>
<script lang="ts" setup>
 import { reactive } from "vue"
interface nameParams {
	name: string;
    age: number
}
 const names = reactive<nameParams[]>([
	{name: "zhangsan", age: 12},
    {name: "lisi", age: 13},
    {name: "wangwu", age: 14},
])
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<script lang="ts" setup>
import SlotVue from "@/***/index.vue"
</script>
<template>
	<SlotVue>
        <template v-slot:header></template>
		<!-- 作用域传参:接收子组件传过来的值 -->
        <template #center="{names}">
			{{names}}
		</template>
        <template v-slot:footer></template>
    </SlotVue>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
编辑 (opens new window)
上次更新: 2023/05/17, 21:35:56
父子组件传值
provide和inject

← 父子组件传值 provide和inject→

最近更新
01
Async和Defer
01-03
02
typescript utils
12-23
03
对SPA的理解
05-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 HsyMoonHao | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式