插槽后备内容:封装组件时,可以为预留的<slot>插槽提供后备内容(默认内容)
语法:在<slot>标签内,放置内容,作为默认显示内容
具名插槽
<template> <div> <slot name="header"></slot> <slot name="content"></slot> </div> </template>
使用:
<template> <div id="app"> <MyWindow> <template v-slot:header> 头部 </template> <template #content> 内容 </template> </MyWindow> </div> </template>
作用域插槽:
<template>
<div>
<slot name="header"></slot>
<p v-for="item in data" :key="item.id">
{{item.id}}-{{ item.name }}
<slot :row="item"></slot>
</p>
</div>
</template>
<script>
export default {
props:{
data:Array
}
}
</script>使用:
<template>
<div id="app">
<MyWindow :data="list">
<template v-slot:header>
头部
</template>
<template #default="{row }">
<button>{{row.id}}</button>
</template>
</MyWindow>
</div>
</template>