Vue3 作用域插槽
UI组件库用的多
一、场景
数据在子组件中,想要在父组件中操作子组件的数据或格式
数据在子组件,但是想怎么用是父组件说的算
二、语法
1、子组件
挖坑、传递数据
<!-- name 命名 gameList 传递数据 --> <slot name="content" :gameList="gameList">默认数据</slot>
2、父组件
填坑、接收数据
<template #content="{gameList}">
<!-- 对数据进行操作 gameList-->
</template>
三、案例
1、子组件
<template>
<div class="games">
<h2>游戏种类</h2>
<!-- name 命名 gameList 传递数据 -->
<slot name="content" :gameList="gameList">默认数据</slot>
</div>
</template>
<script setup lang="ts" name="Games">
import { reactive } from 'vue';
let gameList = reactive([
{id:"01", name:"王者荣耀"},
{id:"02", name:"刺激战场"},
{id:"03", name:"原神"}
])
</script>
2、父组件
<template>
<div class="app">
<Games>
<template #content="{gameList}">
<!-- 对数据进行操作 -->
<ul>
<li v-for="game in gameList" :key="game.id">{{ game.name }}</li>
</ul>
</template>
</Games>
<Games>
<template #content="{gameList}">
<ol>
<li v-for="game in gameList" :key="game.id">{{ game.name }}</li>
</ol>
</template>
</Games>
</div>
</template>
<script setup lang="ts" name="App">
import Games from './components/Games.vue';
</script>

浙公网安备 33010602011771号