作用域插槽是带数据的插槽,它允许子组件向父组件传递数据,父组件可以根据子组件传递的数据进行不同的展现和填充内容。在子组件中,通过在<slot>
标签上使用slot-scope
属性来声明作用域插槽,并将数据传递给父组件。在父组件中,可以使用v-slot
指令来接收子组件传递的数据,并根据数据进行展现和填充内容。
下面是一个使用作用域插槽的例子:
子组件代码:
<template>
<div>
<slot name="header" :user="user"></slot>
<slot name="content"></slot>
</div>
</template>
<script>
export default {
data() {
return {
user: {
name: "张三",
age: 18
}
}
}
}
</script>
父组件代码:
<template>
<div>
<my-component>
<template v-slot:header="slotProps">
<h1>{
{ slotProps.user.name }}</h1>
<p>{
{ slotProps.user.age }}&