vue slot插槽
插槽: 内容分发, 会把组件的内容分发到 slot 中
目的:就是为了能够实现组件定制
可以在组件中占位置
父传子可以完成组件的定制,但是太局限了,只能配置一些简单的结构
比如改改标题和改改文字
如果大段的内容需要用户定制,父传子就不好实现了
插槽的基本语法
你在组件标签内部中写的内容会被分发到你在组件中定义的slot位置,定向分发
匿名插槽 默认插槽
没有具体分配的内容,都会给到匿名插槽
具名插槽
在组件中并不是只有一个地方需要定制,也会有多个地方需要定制的情况
具名插槽:1.给插槽起名字,可以实现定向分发
2.在分发内容时,使用template标签,包裹需要分发的内容
3.在template标签上,通过v-slot指令:插槽名 指定分发
作用域插槽
不属于插槽的种类,只是一种用法
作用域插槽: 定义插槽的同时, 可以传值, 这些数据可以在父模板中分发内容的时候使用
1.给 slot 添加属性
<slot name="default" house="房子" money="100" ></slot>
2.在传入的template模板中就可以获取
slot中传递过来的值, 可以直接通过 = 接收, 最终会保存到一个对象中
<template v-slot:default="scope">
{{ scope.house }}
{{ scope.money }}
</template>
default:默认插槽