slot 英文的意思是“插槽”的意思,vue用这个词做标签,意思是能够在这个标签里插入一些东西,是由调用组件(父组件)向其调用的子组件里插入一些东西的一个解决办法。

slot的语法如下:

<slot></slot>

以上这段代码是书写在需要支持插入能力的子组件里的,有了这段标签代码后,子组件就支持父组件向其内部插入东西了。

一个支持slot的子组件的模板html如下:

<template><div class="slot-child"><div><slot>在这个地方可以调用者可以插入东西</slot></div><span>子组件里的其它内容</span><span>{{ message }}</span></div>
</template><script>
export default {name: 'subcomponent',data () {return {message: "我自己的消息"}}
}
</script>

调用subcomponent组件的符组件如果需要在子组件里面插入一些东西,父组件必须在调用子组件的地方输入标签,即在子组件的名称标签里写标签或文本内容。

一个父组件的样本代码如下:

<template><div class="slots"><div>父组件自己的内容</div><!-- subcomponent 标签之间的内容将插入到子组件的slot标签里  --><subcomponent><div class="no-name">这个文字将会插入到子组件里</div></subcomponent></div>
</template><script>
import subcomponent from 'component/Subcomponent'
export default {name: 'caller',components:{subcomponent},data () {return {}}
}
</script>

可以在子组件里书写多个slot标签,如果这些slot标签不添加name属性,则就是说这些slot不具有名称,这些slot插槽将插入父组件调用子组件时书写在子组件标签中没有 slot的标签的内容。

一个具名子组件的样本如下:

<div class="sub-item"><slot><p>如果父组件没用插入内容,我将作为默认出现</p></slot><div><slot name="xxx"><p>如果父组件没用插入内容,我将作为默认出现xxx</p></slot></div>
</div>

父组件的调用具名slot的子组件的代码如下:

<div class="my">我自己的东西</div><child-component><p>插入到子组件里的内容,不具名</p><p slot="xxx">插入到子组件XXX slot里的内容</p><p>插入到子组件里的内容,不具名0000</p><p>插入到子组件里的内容,不具名2222</p>
</child-component>

一个包含具名slot的单文件slot的测试样本如下

这是一个独立的完整文件,可以直接复制->粘贴->另存为文件到web目录下做测试:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>Vue之slot示例</title>
</head>
<body><div id="app"><div class="my">调用组件自己的东西</div><!-- 子组件child-component标签内 没有任何内容 --><child-component></child-component><!-- 子组件child-component标签内 有内容,将插入到子组件的slot处 --><child-component><p>插入到子组件里的内容,不具名</p><!-- 将插入到子组件的具名xxx的slot处 --><p slot="xxx">插入到子组件具名xxx的slot里的内容</p><p>插入到子组件里的内容0000,不具名</p><p>插入到子组件里的内容2222,不具名</p></child-component><child-component2><p>插入到子组件里的内容2</p><p slot="xxx">插入到子组件XXX slot里的内容2</p></child-component2></div><script src="https://unpkg.com/vue/dist/vue.min.js"></script><script>Vue.component('ChildComponent', {template: '\<div class="sub-item">\<slot>\<p>父组件调用我时标签内没用插入任何内容</p>\</slot>\<div><slot name="xxx">\<p>父组件调用我时没有 slot="xxx" 的标签或者标签内没用插入任何内容</p>\</slot></div>\</div>'});Vue.component('ChildComponent2', {template: '\<div class="sub-item">\<slot>\<p>父组件调用我时标签内没用插入任何内容</p>\</slot>\<slot name="xxx">\<p>父组件调用我时没有 slot="xxx" 的标签或者标签内没用插入任何内容</p>\</slot>\</div>'});var app = new Vue({el: '#app'})</script><style>.sub-item {border: 1px solid #ccc;padding: 20px 30px;margin: 20px;}.my {border: 1px solid #ddd;padding: 10px 30px;margin: 10px 20px;}</style>
</body>
</html>

如果没有指定默认的匿名slot, 父组件调用子组件时子组件名称标签标签内的内容片段都将被丢弃。

Vue——slot的含义是什么, slot之详细解释相关推荐

  1. vue slot scope使用_20、slot插槽的用法

    重点: 单个插槽.具名插槽.作用域插槽的用法: 访问插槽的方法. 其实本小白对插槽理解的还不深,哪些场景会经常用到插槽也不了解. 但是本着"大胆猜测"的理念,我的猜测如下: 假设有 ...

  2. [vue] 说说你对slot的理解有多少?slot使用场景有哪些?

    [vue] 说说你对slot的理解有多少?slot使用场景有哪些? 通过插槽可以让用户可以拓展组件,去更好地复用组件和对其做定制化处理如果父组件在使用到一个复用组件的时候,获取这个组件在不同地方有少量 ...

  3. 【Verilog语法】PC-relatve branch 以及 Delay Slot 的含义

    简单来说,PC-relatve 是PC相对寻址.与之相反的是绝对寻址(在当前PC所在的region中寻址) [讨论] 谈谈SH系列的 Delay Slot 延迟槽 和 branch指令 今天在调试SH ...

  4. vue组件-使用插槽分发内容(slot)

    slot--使用插槽分发内容(位置.槽口:作用: 占个位置) 官网API: https://cn.vuejs.org/v2/guide/components.html#使用插槽分发内容 使用组件时,有 ...

  5. vue2到vue3中插槽slot变化详解---从slot,slot-scope到v-slot的变化

    文章目录 前言 默认插槽 具名插槽 作用域插槽 解构prop的写法 v-solt 默认插槽 独占默认插槽 v-solt具名插槽 v-solt作用域插槽 解构props的写法 动态插槽名 插槽的缩写 前 ...

  6. QT线程 Emit、Sgnals、Slot详细解释

    本文详细的介绍了QT中如何发送信号.如何接收信号.Emit.Sgnals.Slot的具体使用方法.信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解.信号和槽是一种高级接口, ...

  7. MATLAB中var函数,mean函数的含义及用法详细解释

    MATLAB中var函数,mean函数的含义及用法详细解释 var函数语句 我们先来看var函数,MATLAB命令窗输入help var ,可以得到用到方差函数Syntax有: V = var(X); ...

  8. linux中shutdown命令的含义,Linux中的shutdown命令的详细解释

    linxu下的shutdown命令是一个关机命令.下面由学习啦小编为大家整理了linux的shutdown命令的详细解释的相关知识,希望对大家有帮助! 一.Linux中的shutdown命令的详细解释 ...

  9. vue生命周期,组件,slot替换,tab切换,简易留言板

    data规范: data:(){ return{ arr:[{ a: "wan1", b: "在线", c: 5000},{ a: "wan2&quo ...

最新文章

  1. 论supervisor的使用(一)
  2. git如何回退到之前版本
  3. AVFrame中data与linesize关系
  4. 写一个逻辑清晰的startActivityForResult(),拒绝来回扒拉代码
  5. Android图表和图形创建库:EazeGraph
  6. 可信计算3.0工程初步pdf_查校 | 英国大学工业工程与运筹学专业40个授课硕士+研究Mphil/Phd 项目汇总...
  7. seata分布式事务回滚机制是如何实现的
  8. linux内核驱动之 驱动程序的角色
  9. VMware ESXi 虚拟机硬盘格式:精简置备、厚置备延迟置零、厚置备置零
  10. appenders_Log4j Appenders教程
  11. Yii2如何使用存取控制过滤器(ACF)
  12. Redis-秒杀场景应用
  13. 威漫哨兵机器人_曾经秒杀X战警的哨兵机器人,在漫威漫画原著里更让人头疼!...
  14. 运行中的Docker容器添加映射端口
  15. 实际记录vue3中使用rrweb以及rrweb-player组件实现网页录屏和回放功能,还有遇到的问题和解决思考
  16. 从0到1搭建大数据平台之调度系统
  17. LinkedList类
  18. 无法安装64位版本的office解决方案
  19. c语言的七大查找算法,非常值得学习
  20. l开头的英文车标是什么车_l开头的车标一串英文(车标里面带个大写L,看外观是辆跑车,是什么牌子啊,不是雷克萨斯?)...

热门文章

  1. 第五周作业——用状态转换图描绘复印机的行为
  2. innerText和innerHTML改变元素内容
  3. 淘宝/天猫API:item_search_guang-爱逛街
  4. HTTPS认证解决什么问题,以及实现原理
  5. 计算机上e盘拒绝访问,Win7系统E盘拒绝访问的解决方法
  6. 第4次任务:购物车程序的面向对象设计
  7. 合肥一学生高考“牛文”曝光 2009安徽高考作文《弯道超越》
  8. 一次糟糕的字节跳动面试经历
  9. android 类似充值界面,Android学习之RecylerView实习仿支付宝充值界面
  10. 小米11pro什么时候发布 小米11pro参数配置