1. 匿名插槽

子组件
<slot></slot>
父组件
<child> XXXXX</child>
如果不写名字就会直接在子组件匿名插槽渲染

2. 具名插槽

33015-20190726104557962-1008289943.png

3. 作用域 插槽

子组件

  1. <template>
  2. <div class="child"> <slot :data="data"></slot>
  3. </div>
  4. </template>

父组件

  1. <!--第一次使用:用flex展示数据-->
  2. <child>
  3. <template slot-scope="user">
  4. <div class="tmpl">
  5. <span v-for="item in user.data">{{item}}</span>
  6. </div>
  7. </template>
  8. </child>
  9. <!--第二次使用:用列表展示数据-->
  10. <child>
  11. <template slot-scope="user">
  12. <ul>
  13. <li v-for="item in user.data">{{item}}</li>
  14. </ul>
  15. </template>
  16. </child>
  17. <!--第三次使用:直接显示数据-->
  18. <child>
  19. <template slot-scope="user">
  20. {{user.data}}
  21. </template>
  22. </child>
  23. <!--第四次使用:不使用其提供的数据, 作用域插槽退变成匿名插槽-->
  24. <child>
  25. 我就是模板
  26. </child>

33015-20191018140315082-969803224.png

总结

33015-20190730120856513-1102423607.png

参考链接