<current-user> 组件:
<span>
<slot>{{ user.lastName }}</slot>
</span>
父组件:
<current-user>
{{ user.firstName }} //父组件无法访问到子组件的user对象
</current-user>
此时使用作用域插槽
子组件:
<span>
<slot v-bind:user="user">
{{ user.lastName }}
</slot>
</span>
父组件:
<current-user>
<template v-slot:default="slotProps">
{{ slotProps.user.firstName }}
</template>
</current-user>
父组件编译的时候,不马上编译,而是声明一个变量slotProps,编译子组件的时候,把user处理为slotProps的属性,并slotProps.user = user。父组件通过slotProps.user就能获取到子组件的数据了
网友评论