<div> //其它内容 <slot /> </div>
<div> //其它内容 <slot>插槽默认内容</slot> </div>
<Test> Something bad happened. </Test>
<Test> </Test>
<div>
//其它内容
<slot></slot>
<slot name = 'header'></slot>
<slot name = 'footer'></slot>
</div>
<Test>
<template v-slot:header>
<h1>Here might be a page title</h1>
</template>
<template #footer>
<h1>Here might be a page footer</h1>
</template>
</Test>
<div>
//内容
<slot></slot>
<slot name = 'header'></slot>
<div v-if="$slots.footer">
<slot name = 'footer'></slot>
</div>
</div>
<Test>
<template v-slot:header>
<h1>Here might be a page title</h1>
</template>
</Test>
img {
width: 30px;
height: 30px;
border-radius: 50%;
}
<template>
<div class="copyright">
<span>copyright @ 2024-2026</span>
<slot class="avatar"></slot>
<span>glpla.github.io</span>
</div>
</template>
.copyright img {
width: 30px;
height: 30px;
border-radius: 50%;
}
:slotted(img) {
width: 30px;
height: 30px;
}
:slotted(.avatar-img) {
width: 30px;
height: 30px;
}
<div> <div>Lorem ipsum dolor sit amet.</div> <slot :msg="msg"></slot> </div>
<Test v-slot="propsSlot">;
{{ propsSlot.msg }}
</Test>;
<Test v-slot="{ msg }">;
{{ msg }}
</Test>;
<Test v-slot="{{ msg, age }}">;
{{ msg }} {{ age }}
</Test>;
<div> <div>Lorem ipsum dolor sit amet.</div> <slot name="greeting" :msg="msg"></slot> </div>
<Test>
<template #greeting="propsSlot">{{ propsSlot.msg }}</template>
</Test>
<Test>
<template #greeting="{ msg }">{{ msg }}</template>
</Test>
<div class="title"> <slot></slot> <button @click="handle">查看全部 ></button> </div>
<Title :handle="toWelfare"> <h3>福利中心</h3> </Title>
<div class="copyright">
<img class="img" :src='src' alt="">
<slot>广州新华学院</slot>
<div class="desc">2024 - 2026 © Copyright, powered by {{ id }}</div>
</div>