VUE中的slot插槽

一、solt 插槽    

显示与隐藏:由父组件控制
显示的位置:由子组件自身决定
 
自从Vue2.6起,v-slot被引入,slot和slot-scope就被替代了,在接下来的2.x版本中仍会被支持,但已被官方废弃且不会出现在Vue3中。
 

二、单个插槽

不用设置name属性,一个组件中只能有一个。
 

三、具名插槽

一个不带 name  <slot> 出口会带有隐含的名字“default”。
现在普遍用 v-slot 指令,但 注意 v-slot 只能添加在 <template>  (只有一种例外情况),举例如下
VUE中的slot插槽
相当于
VUE中的slot插槽
最后渲染出
VUE中的slot插槽
 
具名插槽缩写:把参数之前的所有内容 (v-slot:) 替换为字符 #。
例如 v-slot:header 可以被重写为 #header
注意:该缩写只在有参数时才可用,否则需要明确插槽名!举例如下:
错误
VUE中的slot插槽
正确
VUE中的slot插槽

四、作用域插槽(带数据的插槽)

默认插槽
VUE中的slot插槽
注意: 不能和具名插槽混用,会导致作用域不明确
 
解构插槽Prop
VUE中的slot插槽
 

五、动态插槽名

VUE中的slot插槽