工作总结5:插槽的使用

什么是插槽?

插槽就是子组件中的提供给父组件使用的一个占位符,用<slot></slot> 表示,父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的<slot></slot>标签。

如下代码:

1. 在子组件中放一个占位符

 

2. 在父组件中给这个占位符填充内容:

 

3. 展示的效果

现在来看看,如果子组件中没有放插槽,同样的父组件中在子组件中填充内容,会是啥样的:

1. 子组件代码无插槽:

2. 父组件照常填充内容:

 

 

3. 展示的效果:

 

 

总结:如果子组件没有使用插槽,父组件如果需要往子组件中填充模板或者html, 是没法做到的

 

插槽的使用

插槽的最最简单使用,上面已有例子,这里就不写了,接下来看看,插槽其他使用场景

插槽的使用 - 具名插槽

描述:具名插槽其实就是给插槽娶个名字。一个子组件可以放多个插槽,而且可以放在不同的地方,而父组件填充内容时,可以根据这个名字把内容填充到对应插槽中。

如下代码:

1. 子组件的代码,设置了两个插槽(header和footer):

 

2. 父组件填充内容, 父组件通过 v-slot:[name] 的方式指定到对应的插槽中

 

3.展示的效果:

 

 

 

接下来再来看看,父组件中填充内容的时候,顺序调换下,看下能不能内容能不能对应上:

1. 子组件代码不变,父组件代码中填充顺序调换下(如图,在父组件中,footer 和 header 的填充位置对换):

 

2. 展示的效果:

 

   由此看出,即使父组件对插槽的填充的顺序打乱,只要名字对应上了,就可以正确渲染到对应的插槽中。即: 父组件填充内容时,是可以根据这个名字把内容填充到对应插槽中的

插槽的使用 - 默认插槽

描述: 默认插槽就是指没有名字的插槽,子组件未定义的名字的插槽,父级将会把 未指定插槽的填充的内容填充到默认插槽中。

示例代码如下:
1.子组件代码定义了一个默认插槽:

 

   2.父组件给默认插槽填充内容:

  

 

   3. 展现的内容

  

 


注意:

1.  父级的填充内容如果指定到子组件的没有对应名字插槽,那么该内容不会被填充到默认插槽中。

2.  如果子组件没有默认插槽,而父级的填充内容指定到默认插槽中,那么该内容就“不会”填充到子组件的任何一个插槽中。

3.  如果子组件有多个默认插槽,而父组件所有指定到默认插槽的填充内容,将“” “全都”填充到子组件的每个默认插槽中。

 

  

  插槽的使用 - 作用域插槽

    作用域插槽的概念和使用比较难于理解,通过查看多方资料,做了以下的总结:

描述:作用域插槽其实就是带数据的插槽,即带参数的插槽,简单的来说就是子组件提供给父组件的参数,该参数仅限于插槽中使用,父组件可根据子组件传过来的插槽数据来进行不同的方式展现和填充插槽内容。
使用方法:

    1. 子组件存放一个带数据的插槽: mylist和title是子组件传给父组件的参数

    2. 父组件通过 “slot-scope” 来接收子组件传过来的插槽数据,再根据插槽数据来填充插槽的内容

    3. 展现的效果:

    4. 常用场景(以下为常用的情况之一)
      如果子组件中的某一部分的数据,每个父组件都会有自己的一套对该数据的不同的呈现方式,这时就需要用到作用域插槽。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm 破解

亲测有效&#xff01; http://blog.lanyus.com/archives/174.html 备注&#xff1a; 注册码破解链接&#xff1a;http://idea.lanyus.com/ 将下载的jar包放入PyCharm.exe所在路径 如D:\pycharm\pycharm2017\PyCharm 2017.1.2\bin pycharm.exe.vmoptions 和pycharm64.exe.vmopti…

Java JVM 汇编代码入门 GitChat链接

为什么 new Integer(151)151&#xff1f;我来带你们一起学习下 JVM 汇编代码吧&#xff0c;窥探下神奇的 Java 中间语言到底什么样子的&#xff0c;能帮你更深入的理解 Java。 本文包含以下内容 工具介绍 JVM 汇编代码初见 汇编初步分析 局部变量生命周期 基础类型 大于 5 的…

Streaming 101

开宗明义&#xff01;本文根据Google Beam大神Tyler Akidau的系列文章《The world beyond batch: Streaming 101》(批处理之外的流式世界)整理而成&#xff0c; 主要讨论流式数据处理。在大数据领域&#xff0c;流式数据处理越发地重要了。原因有以下几点&#xff1a; 人们越来…

工作总结6:token问题

1.使用请求拦截器&#xff0c;拦截vue所有请求&#xff0c;增加token参数 使用倒数计时&#xff0c;假如token有效期60分钟&#xff0c;会在59分钟的时候去重新拿着refresh_Token&#xff0c;去请求新的token. 注意&#xff1a;如果一个账号允许多人登录使用&#xff0c;上述方…

从底层重学 Java 之四大整数 GitChat链接

从底层&#xff0c;从原理&#xff0c;我们来重学一次 Java。四大 Java 整数类 Byte、Short、Integer、Long 是我们比较常用的对象&#xff0c;他们的源码及实现是怎样的呢&#xff1f; 本系列秉承所有结论尽量从源码中来&#xff0c;没有源码的尽量标明出处。相关源码会附着在…

二重循环

一、回顾3种循环结构 1、while 语法 条件表达式的初始值&#xff1b; while(条件表达式){ 循环操作&#xff1b; 更改条件表达式的语句&#xff1b; } 特点&#xff1a;先判断&#xff0c;再执行&#xff0c;有可能一次循环都没有 适用的场合&#xff1a;循环次数未知 表现形式…

工作总结1:代码中漫花谷出现很多NBSP

代码复制的影响 手动删除 ctrl f 全部删除

winsw将命令部署为服务(比如springboot)

工具 https://github.com/winsw/winsw/releases 下载.netcore的exe就行&#xff0c;比如 https://github.com/winsw/winsw/releases/download/v2.9.0/WinSW.NETCore31.x64.exe PS&#xff1a;我为什么不下载net2那些版本&#xff0c;那些版本一看大小就是需要本地.netframewo…

GPU版的tensorflow在windows上的安装时的错误解决方案

1.用vs编译cuda的sample时会提示找不到”d3dx9.h”、”d3dx10.h”、”d3dx11.h”头文件的错误&#xff0c;如果没有安装这个插件&#xff0c;在TensorFlow里执行run方法时会导致电脑死机 解决方案;可从这里下载DXSDK_Jun10.exe。 2.import tensorflow as tf 时报 ImportError: …

ElementUI dialog嵌套蒙层遮挡问题

dialog嵌套会有蒙层遮挡问题&#xff0c;我们加两个属性解决他 <el-dialog :close-on-click-modal"false" title"选择图片" custom-class"imgSelectDialog" :visible.sync"imgSelectDialog" close"closeHandler" v-drag&…

excel转txt工具

有个任务需要读好多eccel&#xff0c;实际读起来并不方便&#xff0c;变手工把ecxcel转换成文本文档&#xff0c;心累。。。。于是闲暇写了个ecxcel转txt的小工具。主要是用的Spreadsheet::XLSX。 use strict;use warnings;use strict; use Spreadsheet::XLSX;die "Usage …

从底层重学 Java 之两大浮点类型 GitChat连接

从底层&#xff0c;从原理&#xff0c;我们来重学一次 Java。两大 Java 浮点类 Double、Float 是我们比较常用的对象&#xff0c;他们的源码及实现是怎样的呢&#xff1f; 本系列秉承所有结论尽量从源码中来&#xff0c;没有源码的尽量标明出处。相关源码会附着在文章中&#…

jquery点击完一个按钮,并且触发另一个按钮

$a.click(function(){ $b.trigger(click); }); 转载于:https://www.cnblogs.com/Neilisme/p/6890838.html

vue 中的动态传参和query传参

Vue router 如何传参 params、query 是什么&#xff1f; params&#xff1a;/router1/:id&#xff0c;这里的 id 叫做 params。例如/router1/123, /router1/789query&#xff1a;/router1?id123&#xff0c;这里的 id 叫做 query。例如/router1?id456 query 方式传参和接收…

element-ui如何进行调试

chrome中Sources打开webpack://域&#xff0c;找到.下的node_modules下的element-ui/lib目录下的element-ui.common.js。 所有的组件都被打包到了这里&#xff0c;怎么能快速找到组件呢&#xff1f;我们看下这个注释&#xff1a; // CONCATENATED MODULE: ./packages/checkbo…

GY歌谣之读懂每行代码(飞智)

Vue router 如何传参 params、query 是什么&#xff1f; params&#xff1a;/router1/:id&#xff0c;这里的 id 叫做 params。例如/router1/123, /router1/789query&#xff1a;/router1?id123&#xff0c;这里的 id 叫做 query。例如/router1?id456 query 方式传参和接收…

jquery ajax post请求连续多个问号特殊数据异常问题

问题场景 jquery ajax&#xff0c;非jsonp请求&#xff0c;post数据中json包含多个问号&#xff0c;比如“{“a”:“aa??”}”。 请求时前端报错&#xff0c;由于jsonp的参数加到了post数据中的??位置&#xff0c;就无法通过url传入了。 报错信息&#xff08;生产环境&am…

C/S通信模型与B/S通信模型介绍

1、客户端与服务器之间的通信模型 基于Socket连接的客户端与服务器之间的通信模型图如上图所示&#xff0c;整个通信过程如下所示&#xff1a; &#xff08;1&#xff09; 服务器端首先启动监听程序&#xff0c;对指定的端口进行监听&#xff0c;等待接收客户端的连接请求&…