除了将数据作为prop传入到组件中,vue也允许传入HTML

父组件中的子组件:<custom-button>点我<custom-button/>

custom-button子组件:<span> <slot></slot> </sapn>

会生成<span>点我</span>

不仅可以传入字符串,也可以传入你想要的任何html,甚至是其他组件,这样可以创建复杂的页面,而不至于让组件的体积变得过于庞大

默认内容

如果solt元素设置了默认内容,那么该内容会在组件没有接收到内容时被当作默认内容使用

具名插槽

上面我们说所的是单个插槽,这是插槽最普遍的用法,当然也是最容易理解的,传递给组件的内容会替换掉它里面的slot元素输出到页面上。

除此之外我们还有具名插槽。具名插槽,它允许你在同一个组件中拥有多个插槽

<HelloWorld msg="Welcome to Your Vue.js App" :input="input">
<button>hah</button>
<div slot="header"> <span style="color:red">哈哈</span> </div>
</HelloWorld>

子组件

<span>这里 <slot name="header"></slot>
</span>

会生成

这里
哈哈

我们指定了某个元素应该被插入名为header 的插槽 其他的将被插入未命名的插槽

作用域插槽

可以将数据传回slot组件,使父组件中的元素可以访问子组件中的数据

//创建一个获取用户信息的组件,而数据的显示则留给父级元素来处理
Vue.component('user-data',{
template:" <div class='user'> <solt :user='user'> </slot> </div> ",
data:()=>({
user:"test"
}),
mounted(){
//设置this.user
}
})

任何传递给slot的属性都用slot-scope属性中定义的变量来获取

<div>
<user-data >
     <template v-slot="user">//v-slot='user'===slot-scope="user" v-slot为官方最新语法          
用户名:

{{user.user.name}}

       </template>
    </user-data>
</div>

插槽作用域结构

解构slot-scope的属性就像解构函数参数一样 使用{}解构

vue组件4 利用slot将内容传递给组件的更多相关文章

  1. vue 外卖app(3) 利用slot分发内容

    1. 增加一个HeaderTop.vue <template> <header class="header"> <slot name="le ...

  2. Vue slot插槽内容分发

    slot插槽使用 使用场景,一般父组件中又一大段模板内容需要运用到子组件上.或者更加复杂的,子组件需要运用到父组件大段模板内容,而子组件却不知道挂载的内容是什么.挂载点的内容是由父组件来决定的. Sl ...

  3. Vue:实践学习笔记(6)——使用SLOT分发内容

    Vue:实践学习笔记(6)——使用SLOT分发内容 Slot Slot是什么 Slot是父子组件的通讯方式,可以将父组件的内容显示到子组件之中. 使用SLOT前 比如我在定义组件的时候,在里面输入了X ...

  4. 偏前端-vue.js学习之路初级(二)组件化构建

    vue.js   组件化构建 组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型.自包含和通常可复用的组件构建大型应用.仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树: ...

  5. Vue中的插槽---slot

    一:什么是插槽? 插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定将所携带的内容,插入到指定的某个位置,从而使模板分块,具有模块化的特质和更大的重用性. 插槽显不显示.怎样显示是由 ...

  6. vue组件详解(四)——使用slot分发内容

    一.什么是slot 在使用组件时,我们常常要像这样组合它们: <app> <app-header></app-header> <app-footer>& ...

  7. vue组件详解——使用slot分发内容

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code     一.什么是slot 在使用组件时,我们常常要像这样组合它们: <app& ...

  8. Vue 组件&组件之间的通信 之 使用slot分发内容

    slot详细介绍网址:https://cn.vuejs.org/v2/api/#slot 有时候我们需要在自定义组件内书写一些内容,例如: <com-a> <h1>title& ...

  9. 组件基础(插槽slot)—Vue学习笔记

    刚开始我们淡淡提过<slot></slot>现在深入了解一下. slot可以进行父组件传值到子组件. 比如:我们将hiboy通过<slot>传递到组件中. < ...

随机推荐

  1. nginx proxy_pass 指令

    nginx proxy_pass 指令 文档 Nginx 官方文档 https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pa ...

  2. 3-OpenResty 配置PHP

    由于咱以前是用PHP做的东西,又不想重新用 OpenResty自带的编写,所以呢咱设置下,可以像以前Apache那样访问PHP文件 首先去下载 PHP https://windows.php.net/ ...

  3. 【数论】[圆点坐标]P2508圆上的整点

    题目描述 求一个给定的圆\(x ^2 +y ^2 = r ^2\),在圆周上有多少个点的坐标是整数 Solution 圆上的点坐标通解:\(x = d\frac{v^2-u^2}{2},y = duv ...

  4. 【BZOJ3837】[PA2013]Filary

    [BZOJ3837][PA2013]Filary 题面 darkbzoj 题解 考虑到模数为\(2\)时答案至少为\(\frac n2\),这是我们答案的下界. 那么我们对于任意的一个数,它们答案集合 ...

  5. Koa帮我们做了什么

    整理web渲染思路,与KOA作比较 1.开启服务器并监听端口,注册监听事件 // 原生 let http = require('http') const server = http.createSer ...

  6. tensorflow学习笔记(三):实现自编码器

    黄文坚的tensorflow实战一书中的第四章,讲述了tensorflow实现多层感知机.Hiton早年提出过自编码器的非监督学习算法,书中的代码给出了一个隐藏层的神经网络,本人扩展到了多层,改进了代 ...

  7. 本地VS调试服务器 IIS 程序

    由于读书的关系,毕业后选择在武汉,工作三年,至今年5月份挪窝到沿海某二线城市,换城市相当于裸辞,一切从头开始,新的城市,新的居住地,新的空气,新工作,新挑战.一直忙忙碌碌,孜孜不倦的汲取着,担心脱队, ...

  8. zookeeper shell

    1.启动zk客户端 ./zkCli.sh -server 192.168.67.35:2182,192.168.67.36:2182,192.168.67.37:2182   2.创建zk节点 cre ...

  9. android webview 全屏100%显示图片

    这里引用 第三方类库 implementation 'org.jsoup:jsoup:1.10.2' 定义工具类 HtmlUtils import org.jsoup.Jsoup; import or ...

  10. Shell脚本之八 函数

    一.函数定义 Linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. shell中函数的定义格式如下: [ function ] funname [()] { action; ...