slot标签的定义:
宏观:vue中专门为组件而服务的标签
微观:父元素在子组件中的占位符。
两个作用,一个注意
作用:
决定位置
slot标签决定了插入子组件中的父元素的位置
子.vue
<div>我是子元素</div>
<slot></slot>
父.vue
<子>
<div>我是父元素</div> // 在子组件里插入的父元素
</子>
浏览器
// 我是父元素 //slot标签在上
我是子元素
我是父元素 //slot标签在下
复制父元素
根据slot的数量和位置,可以无限复制插入的父元素(这样做就没必要。。。)
<slot></slot> // 子.vue
<div>我是子元素</div>
<slot></slot>
-----------------------------
<子> // 父.vue
<div>我是父元素</div> // 在子组件里插入的父元素
</子>
-----------------------------
我是父元素 // 浏览器
我是子元素
我是父元素
所以,没有slot被插入的父元素就不会显示
<div>我是子元素</div> // 子.vue
----------------------------------------
<子> // 父.vue
我是强行插进来的父元素1
我是强行插进来的父元素2
</子>
----------------------------------------
我是子元素 // 浏览器 // 无论插进多少个父元素都不会显示
注意:
没有样式
样式不可以在slot内定义,slot只代表位置和数量
错误e.g.
<slot class='mSlot'></slot>