动态插槽
2023年04月23日
一、认识
二、语法
- 父组件
- 子组件
<template>
<div>
<AComp>
<template v-slot:[slotName1]="{ a, b, c }">
{{ a }} - {{ b }} - {{ c }}
</template>
<template v-slot:[slotName2]="{ a, b, c }">
{{ a }} + {{ b }} + {{ c }}
</template>
</AComp>
</div>
</template>
<script>
import AComp from "./aComp.vue";
export default {
name: "App",
components: { AComp },
data(){
return {
slotName1: "body1",
slotName2: "body2"
}
}
};
</script>
<template>
<div>
<h3>A 组件 Header</h3>
<slot name="body1" :a="a" :b="b" :c="c"></slot>
<slot name="body2" :a="a" :b="b" :c="c"></slot>
<slot name="body3">A 组件 Body3 默认内容</slot>
<p>A 组件 Footer</p>
</div>
</template>
<script>
export default {
name: "AComp",
data() {
return {
a: 1,
b: 2,
c: 3,
};
},
};
</script>