在父组件引入子组件并使用
<slider ref="slider">
<div v-for="item in recommends">
<a :href="item.linkUrl">
<img @load="loadImage" :src="item.picUrl">
</a>
</div>
</slider>
中间这块的dom会在slider的组件内部的solt里面显示
<template> <div class="slider" ref="slider"> <div class="slider-group" ref="sliderGroup"> <slot> </slot> </div> <div class="dots"> <span class="dot" :class="{active: currentPageIndex === index }" v-for="(item, index) in dots"></span> </div> </div> </template>
简单可以理解为
在父组件中去调用子组件,子组件内部扩展子组件的内容,内容会根据子组件插槽的位置和样式展示出来
作用域插槽
<span> <slot v-bind:user="user"> {{ user.lastName }} </slot> </span> 绑定在 <slot> 元素上的 attribute 被称为插槽 prop。现在在父级作用域中,我们可以使用带值的 v-slot 来定义我们提供的插槽 prop 的名字: <current-user> <template v-slot:default="slotProps"> {{ slotProps.user.firstName }} </template> </current-user>