Vue 插槽
1. 具名插槽
子组件:component3
<template>
<div class="button">
<button>插槽</button>
<slot name="one">这是默认值1</slot>
<slot name="two">这是默认值2</slot>
<slot name="three">这是默认值3</slot>
</div>
</template> 父组件:
通过 v-slot : name 的方式添加内容
<template>
<div class="component3">
<component3>
<template v-slot:one><p>这是插入到one插槽的内容</p></template>
<template #two><p>这是插入到two插槽的内容</p></template>
<template v-slot:three><p>这是插入到three插槽的内容</p></template>
</component3>
</div>
</template> vue 为了方便,书写 v-slot:one 的形式时,可以简写为 #one
2. 作用域插槽
子组件 component3:
<template>
<div class="button">
<button>插槽</button>
<slot name="one" :value1='child1'>这就是默认值1</slot>
<slot :value2='child2'>这就是默认值2</slot>
</div>
</template>
<script>
export default {
name: "component3",
data(){
return{
child1: '数据1',
child2: '数据2'
}
}
}
</script> 父组件:
<template>
<div class="about">
<component3>
<template v-slot:one = 'slotone'>
{{ slotone.value1 }}
</template>
<template v-slot:default = 'slottwo'>
{{ slottwo.value2}}
</template>
</component3>
</div>
</template> 3. 总结
- 首先在子组件的slot上动态绑定一个值( :key='value')
- 然后在父组件通过v-slot : name = ‘values ’的方式将这个值赋值给 values
- 最后通过{{ values.key }}的方式获取数据

京公网安备 11010502036488号