Slots permitem que um componente pai passe conteúdo de template para um componente filho — é como você constrói wrappers flexíveis e reutilizáveis (cards, modais, layouts) onde o consumidor controla o markup interno.
Slot básico
<!-- Card.vue -->
<template>
<div class="card">
<slot></slot> <!-- parent's content is injected here -->
</div>
</template>
<!-- parent -->
<Card>
<h2>Title</h2> <!-- this markup fills the slot -->
<p>Any content!</p>
</Card>
O filho define um "espaço" (); o pai o preenche com qualquer markup desejado. Isso é muito mais flexível do que passar strings através de props.
