插槽(slot)
是指可以在父组件内自定义模板片段,
在子组件中可以将定义的模板片段插入到子组件的特定位置
App.vue
<script setup>
//导入子组件
import Header from "./components/header.vue"
import Footer from "./components/footer.vue"
</script>
<template>
<h3>App.vue</h3>
<!-- <Header/> -->
<!-- 匿名插槽 -->
<Header>
<a href="http://dengruicode.com">邓瑞编程</a>
</Header>
<!-- 具名插槽 -->
<Footer>
<template v-slot:url>
<a href="http://www.dengruicode.com">网址</a>
</template>
<!-- v-slot:user 简写 #user -->
<template #user>
1000
</template>
</Footer>
</template>
<style scoped>
</style>
header.vue
<script setup>
</script>
<template>
<h3>header.vue - 子组件</h3>
<!-- 匿名插槽 -->
<slot/>
</template>
<style scoped>
</style>
footer.vue
<script setup>
</script>
<template>
<h3>footer.vue - 子组件</h3>
<!-- 具名插槽 -->
<slot name="url" />
<slot name="user" />
</template>
<style scoped>
</style>