一、概念:

插槽就是父组件往子组件中插入一些内容。

二、插槽的种类:

有三种方式,默认插槽,具名插槽,作用域插槽

  1. 默认插槽就是把父组件中的数据,显示在子组件中,子组件通过一个slot插槽标签显示父组件中的数据

单个slot (默认插槽 或 匿名插槽)

就是没有名字的插槽,一个组件里面只允许存在一个匿名插槽。

    <div class="fa"><h1>父组件</h1><child><p>父组件中写的文本</p></child></div>

子组件内容

  • 父组件在child子组件中放置p标签,子组件中想要显示p标签,就必须放置slot
<div class="child"><h2>子组件</h2><slot>匿名插槽的默认内容</slot></div>

编译结果如下:

child组件slot里的内容会替换成 p标签里面的内容,如果父组件没有在子组件插入内容则会渲染slot里面的默认内容。

2. 具名插槽是在父组件中通过slot属性,给插槽命名,在子组件中通过slot标签,根据定义好的        名字填充到对应的位置。

父组件:

 <div class="fa"><h1>父组件</h1><child><div class="son" slot="s1"><span>111</span></div><div class="son" slot="s2"><span>222</span></div><-- 以下是多余的内容,将会自动填充到匿名插槽中--><div class="son"><span>333</span></div></child></div>

子组件:

 <div class="child"><h2>子组件</h2>// s1插槽<slot name="s1"></slot>// s2插槽<slot name="s2"></slot>// 匿名插槽<slot></slot></div>

具名插槽的缩写方式

以#号形式加上插槽名称

 <div class="fa"><h1>父组件</h1><child><div class="son" #s1>...</div></child></div>

 3.作用域插槽是带数据的插槽,子组件提供给父组件的参数,父组件根据子组件传过来的插槽         数据来进行不同的展现和填充内容。在标签中通过slot-scope来接受数据。

  <div class="fa"><h1>父组件</h1><child ><template v-slot="props">{{props.item}}</template></child></div>

注意点1:在Vue 2.6+中,如果只存在默认插槽,可以用以上简写法 ,否则必须完整书写: v-slot:default=“props”
注意点2:在Vue 2.6+ 引入了v-slot 指令,在接下来所有的 2.x 版本中 slot 和 slot-scope 还可以使用,但不会出现在 Vue 3.0 中,详细的内容自己查阅官方文档吧。

子组件内容


<template><div class="child"><h2>子组件</h2><ul><li v-for="item of arr" ><slot :item="item"></slot></li></ul></div>
<template/>
<scirpt>data(){return {arr:[111, 222, 333]}}
<scirpt/>

总结

v-slot的出现是为了代替原有的slot和slot-scope
简化了一些复杂的语法。
一句话概括就是v-slot :后边是插槽名称=后边是组件内部绑定作用域值的映射

Vue中的solt插槽相关推荐

  1. vue 中的solt插槽

    插槽的种类: 插槽分为3种,一种是默认插槽.一种是具名插槽.一种是作用域插槽. 插槽的定义: 在子组件中用 <solt></solt> 划出一块区域用来显示父组件中的页面结构, ...

  2. vue中slot(插槽)详解,slot、slot-scope和v-slot

    slot是什么 slot,也称插槽,可以类比为插卡式的FC游戏机,游戏机(子组件)暴露卡槽(插槽)让用户插入不同的游戏磁条(自定义内容),游戏机会读取并加载磁条里的游戏 Vue的slot,是组件的一块 ...

  3. Vue 中的作用域插槽

    作用域插槽 <div id="root"><child></child> </div> Vue.component('child', ...

  4. vue中的slot插槽

    1.无名插槽<body><div id="app">123</div><script src="https://cdn.jsde ...

  5. 「后端小伙伴来学前端了」关于 Vue中 Slot 插槽的使用,实用且也是组件中必会的一个知识,另外也可以实现父子组件之间通信

    前言 插槽可以说是 Vue 中非常重要的一部分吧,在我学习和练习的过程中,当组件搭配着插槽一起使用的时候,会发挥的更好一些.更多时候也会更加方便. 今天介绍Vue中三种插槽吧:默认插槽.具名插槽.作用 ...

  6. Vue中的v-slot详解,作用域插槽和具名插槽

    1.具名插槽 有时候我们希望在指定的位置输出我们的子元素,这时候具名插槽就排上了用场. //组件调用时 <MyFooter v-red :age.sync="age"> ...

  7. vue中插槽solt的使用

    solt就是插槽 默认会把组件中间的内容渲染出来 案例: 在app.vue中 直接在组件模版里写内容 是不会在页面中显示的 这个时候 就在card子组件里 写上solt标签 solt标签就代表根组件里 ...

  8. 【Vue 快速入门系列】3分钟掌握Vue中插槽的使用与理解

    文章目录 前言 一.常规实现方式 二.匿名插槽 三.具名插槽 四.作用域插槽 前言 插槽作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于 父组件 ===> 子 ...

  9. vue中的插槽(slot)

    vue中有3种插槽 1.默认插槽 <slot></slot> 2.具名插槽 <slot name="名称"></slot> 3.作用 ...

最新文章

  1. 为什么不建议你用a.equals(b)判断对象相等
  2. Windows数据类型探幽——千回百转你是谁?(2)
  3. 【Cocos2d-x】开发实战-Cocos中的字符串、标签和中文乱码
  4. 基于虎书实现LALR(1)分析并生成GLSL编译器前端代码(C#)
  5. 实战|记一次绕过宝塔防火墙的BC站渗透
  6. 通过javascript实现的轻量级模态框解决方案(支持Ajax)
  7. Codeforces Round #640 (Div. 4)(ABCDE)
  8. 发现Java程序中的Bug
  9. nbiot开发需要掌握什么_学习软件开发需要准备什么?
  10. RabbitMQ在Ubuntu上的环境搭建
  11. linux手动安装unzip_centos7离线安装unzip和zip
  12. 云计算与 Cloud Native | 数人云CEO王璞@KVM分享实录
  13. 创建型模式之单例模式
  14. python公开课乐博学院_乐搏学院VIP36期全栈班学习群 - 乐搏软件教育 - 软件测试 - Powered By EduSoho...
  15. iOS10 拍照崩溃问题
  16. 百度计算步行泰山18盘只要15分钟
  17. 利用octave求矩阵的转置
  18. 怎么把微信机器人挂在服务器上,微信群机器人怎么弄的群里面的机器人怎么弄的???...
  19. python open file失败_python open打开文件失败原因及解决办法
  20. Hadoop、Storm和Spark主流分布式系统特点和应用场景

热门文章

  1. 用jquery做日历
  2. 有什么免费python安装包?
  3. 华钜同创:亚马逊运营每天需要关注的内容
  4. .Net Framework 4.7.2 离线包下载及安装时出现“无法建立到信任根颁发机构的证书链“ 问题
  5. 时钟服务器linux,简单搭建NTP时钟服务器
  6. 实战 | OpenCV实现扫描文本矫正应用与实现详解(附源码)
  7. 4.建模坐标系与世界坐标系
  8. $.parser.parse()是什么意思
  9. a链接使用ajax 页面跳转,关于a标签的链接跳转
  10. Python全栈:Django中的ORM模型