Vue 插槽 slot

solt 插槽需要分为 2.6.0 版本以上和 2.6.0版本以下。

2.6.0 版本以下的 slot 插槽在,2.x版本将继续支持,但是在 Vue 3 中已被废弃,且不会出现在官方文档中。

作用

插槽 prop 允许我们将插槽转换为可复用的模板,这些模板可以基于输入的 prop ( 也就是在使用者中传递的内容 ) 渲染出不同的内容。这在设计封装数据逻辑同时允许父级组件自定义部分布局的可复用组件时是最有用的。

2.6.0 版本及以上

 在 2.6.0 中,Vue 为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了 slot 和 slot-scope 这两个目前已被废弃但未被移除且仍在文档中的 attribute。

默认插槽: 当组件中未提供任何插槽内容时,展示默认的内容。如提供了内容,则替代默认内容  ( 只管挖坑,不管怎么用,反正我都丢进去)

 Category 组件:分类组件,插槽中提供默认内容

 App 组件:使用  Category 组件,且不提供插槽内容。

只展示默认内容。 

Vue 插槽 slot_第1张图片

 当 App 组件中提供插槽内容时:Category 组件就不能使用自闭合,需要使用双标签形式。此时 Vue 会将 组件标签中 的内容在 App 组件中解析完成之后,丢到 Category 组件 中,将 slot 替换

提供的内容会覆盖默认内容 

Vue 插槽 slot_第2张图片

具名插槽:顾名思义就是有个名字的插槽( 给这个坑取了个名字,使用的时候可以指定往这个坑里面填东西 ) --- v-slot:xxx 只能存在于