插槽后备内容:封装组件时,可以为预留的<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>