单个插槽

  1. // 父组件
  2. <div id="parent">
  3. <child>test</child>
  4. </div>
  5. <script>
  6. // 定义全局组件
  7. Vue.component('child', {
  8. template: `
  9. <div class="child">
  10. <slot></slot>
  11. </div>
  12. `
  13. })
  14. const app = new Vue({
  15. data: {
  16. },
  17. })
  18. </script>

具名插槽

  1. // 父组件
  2. <div id="parent">
  3. <child>
  4. <template v-slot:title>title</template>
  5. <!--下面的插槽等同于v-slot:default-->
  6. <template></template>
  7. </child>
  8. </div>
  9. <script>
  10. // 定义全局组件
  11. Vue.component('child', {
  12. template: `
  13. <div class="child">
  14. <slot>默认插槽内容</slot>
  15. <slot name="title">名为title的插槽的默认内容</slot>
  16. </div>
  17. `
  18. })
  19. const app = new Vue({
  20. data: {
  21. },
  22. })
  23. </script>

作用域插槽