slot(插槽)的使用

<!-- 模板 子组件 xxx.vue -->
<template>
  <div>
    <slot></slot>
  </div>
</template>

<!-- 使用 父组件 App.vue -->
<template>
   <div>
    <xxx>
      <span>这里是内容</span>
    </xxx>
 </div>
</template>

<span>这里是内容</span> 对应着 <slot></slot> 这里是默认插槽


具名插槽?当然是有名字的插槽啦。
<!-- 模板 子组件 xxx.vue -->
<template>
  <div>
    <slot name="ccc"></slot>
    <slot name="aaa"></slot>
  </div>
</template>
<!-- 使用 父组件 App.vue -->
<template>
   <div>
      <xxx>
         <span slot="ccc">这里是内容ccc</span>
         <span slot="aaa">这里是内容aaa</span>  
      </xxx>
   </div>
</template>

使用slot对应<slot></solt>标签中的name。 拗口?
理解成 slot="ccc" 对应着 name="ccc"

slot-scope

<!-- 子组件 -->
<template>
  <div class="child">
    // 作用域插槽
    <slot  :data="data"></slot>
  </div>
</template>

 export default {
    data: function(){
      return {
        data: 'luoshushu'
      }
    }
}
<!-- 父组件 -->

<child>
    <span slot-scope="user">{{user.data}}</span>  
      <!-- 渲染出luoshushu -->
</child>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • <slot> 元素作为承载分发内容的出口,可以实现组件的复用。 简单的说就是《定制模板》 一个template由多...
    Mr无愧于心阅读 6,573评论 1 0
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,072评论 0 29
  • 此文基于官方文档,里面部分例子有改动,加上了一些自己的理解 什么是组件? 组件(Component)是 Vue.j...
    陆志均阅读 3,846评论 5 14
  • 9.1 什么是组件? 组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,...
    白水螺丝阅读 803评论 0 2
  • 原文地址 写这些的目的是为了做自己的学习笔记,建立自己的知识库。 概念 diffuse 漫反射 ambient 环...
    Ffinefine阅读 786评论 0 0