代码改变世界

Vue3中slot插槽使用方式

2023-04-25 17:43  WEB前端小菜鸟  阅读(138)  评论(0编辑  收藏  举报

********************************** Vue3中slot插槽使用方式****************************************************
参考:https://huaweicloud.csdn.net/638eab83dacf622b8df8d08c.html
<template v-slot:isFang>

</template>
简写 v-slot:isFang #isFang
<template #isFang>

</template>

需要注意的是v-slot该指令需要作用在 template 元素上

<slot name="footer"></slot>
<slot></slot>--》我们没有添加 name 属性,这个时候 Vue 会隐式的将这个插槽命名为“default”,

具名插槽顾名思义就是给插槽起一个名字,匿名则反

父组件中的插槽内容是无法访问到子组件中的数据的,但是,万一我们有需求就是需要在插槽内容中获取子组件数据怎么办呢?就要用到作用域插槽了
作用域插槽:我们希望组件中 插槽位置 可以访问到子组件中的内容。默认情况下,是无法访问的。作用域顾名思义你可以访问它,它不可以访问你,作用域插槽就是解决这个的。
需要注意的是,子组件传递过来的数据只能在子组件这个标签内使用。
父组件:
<template>
<img alt="Vue logo" src="./assets/logo.png" />
<child v-slot="{ text, count }">
<div>{{ text }}---{{ count }}</div>
</child>
</template>
子组件:
<template>
<div class="child-box">
<p>我是子组件</p>
<slot text="我是子组件小猪课堂" :count="1"></slot>
</div>
</template>