<template></template>、<slot></slot>、slot-scope、v-slot傻傻分不清!他们究竟是干啥的???

一句话描述4个关键词的作用:

template是备胎(模板):通常在html里面作为备用模板,包裹的内容显示,而自身标签不会出现在html中

slot是替身(替代组件包裹内容、插槽):通常出现在子组件中,用于替代父组件中><尖括号包裹的内容。

slot-scope是渣女的闺蜜(经常传话):闺蜜说的话到处去散播,用于获取子组件的对应变量值。

v-slot具有slot和slot-scope的功能

  1. 当写法是v-slot:插槽别名等同于slot="插槽别名"的写法
  2. 当写法是v-slot="变量名"等同于slot-scope="变量名"的写法

美中不足,v-slot 只能用在组件或 <template> 标签上,所以某种意义我更喜欢用slotslot-scope


接下来就用一个综合的例子讲解这4者分别的用处:

template

<template>

之间的内容直接显示出来,不会带出template节点标签
</template>

slot

【单个插槽的情况】

在子组件里面用<slot></slot>就可以显示父组件中><尖括号包裹的内容。

________________________________________________________________________

【多个插槽就需要用到具名的slot插槽】

父组件里面:

<template slot="插槽别名1">内容1</template>

<template slot="插槽别名2">内容2</template>

写法等同于

<template v-slot:插槽别名1>内容1</template>

<template v-slot:插槽别名2>内容2</template>

子组件里面:

<slot name="插槽别名1"></slot> //这个位置就会显示“内容1

<slot name="插槽别名2"></slot> //这个位置就会显示“内容2

提示:上面的name="插槽别名1"换成v-slot:插槽别名1也是可以的

slot-scope

子组件里面:

<slot 

:传参1="{字段1:'内容1',字段2:'内容2'}"

:传参2="{字段1:'内容2-1',字段2:'内容2-2'}"

></slot>

父组件里面:

<template slot-scope="{传参1,传参2}">

{{传参1.字段1}}//这个位置就会显示“内容1

{{传参1.字段2}}//这个位置就会显示“内容2

{{传参2.字段1}}//这个位置就会显示“内容2-1

{{传参2.字段2}}//这个位置就会显示“内容2-2

</template>

写法等同于

<template v-slot="{传参1,传参2}">

{{传参1.字段1}}//这个位置就会显示“内容1

{{传参1.字段2}}//这个位置就会显示“内容2

{{传参2.字段1}}//这个位置就会显示“内容2-1

{{传参2.字段2}}//这个位置就会显示“内容2-2

</template>

v-slot

上面已经讲过了v-slot等同于slotslot-scope的功能。

最巧妙之处,v-slot可以同时使用这两种功能,写法如下:

父组件里面:

<template v-slot:插槽别名1="{传参1,传参2}">

{{传参1.字段1}}//这个位置就会显示“内容1

{{传参1.字段2}}//这个位置就会显示“内容2

{{传参2.字段1}}//这个位置就会显示“内容2-1

{{传参2.字段2}}//这个位置就会显示“内容2-2

<template>

子组件里面:

<slot name="插槽别名1"

:传参1="{字段1:'内容1',字段2:'内容2'}"

:传参2="{字段1:'内容2-1',字段2:'内容2-2'}"

></slot>


其实,Angular也有类似的几个变态标签、属性,有空可以了解下: 

ng-template、ng-container、ng-content和ngTemplateOutlet、ngProjectAs傻傻分不清!他们究竟是干啥的???_你挚爱的强哥的博客-CSDN博客一句话描述三者的作用:ng-template是备胎:通常在html里面作为备用模板,当绑定了对应的#标记的时候才会显示ng-content是替身:通常出现在子组件中,用于替代显示子组件在父组件中><尖括号包裹的内容传递ng-container是舔狗:包裹的内容显示,而自身标签不会出现在html中..._ngprojectashttps://blog.csdn.net/qq_37860634/article/details/120539981

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

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

相关文章

1268. 搜索推荐系统

链接&#xff1a; 1268. 搜索推荐系统 题解&#xff1a; class Solution { public: struct Trie {Trie() {end false;next.resize(26, nullptr);}bool end;std::set<std::string> words;std::vector<Trie*> next; };void insert_trie(const std::string& w…

计算机竞赛 基于大数据的时间序列股价预测分析与可视化 - lstm

文章目录 1 前言2 时间序列的由来2.1 四种模型的名称&#xff1a; 3 数据预览4 理论公式4.1 协方差4.2 相关系数4.3 scikit-learn计算相关性 5 金融数据的时序分析5.1 数据概况5.2 序列变化情况计算 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &…

C/C++ 个人笔记

仅供个人复习&#xff0c; C语言IO占位符表 %d十进制整数(int)%ldlong%lldlong long%uunsigned int%o八进制整型%x十六进制整数/字符串地址%c单个字符%s字符串%ffloat&#xff0c;默认保留6位%lfdouble%e科学计数法%g根据大小自动选取f或e格式&#xff0c;去掉无效0 转义符表…

java八股文面试[多线程]——线程的生命周期

笔试题&#xff1a;画出线程的生命周期&#xff0c;各个状态的转换。 5.等待队列(本是Object里的方法&#xff0c;但影响了线程) 调用obj的wait(), notify()方法前&#xff0c;必须获得obj锁&#xff0c;也就是必须写在synchronized(obj) 代码段内。与等待队列相关的步骤和图 …

攻防世界-Web_php_unserialize

原题 解题思路 注释说了flag存在f14g.php中&#xff0c;但是在wakeup函数中&#xff0c;会把传入的文件名变成index.php。看wp知道&#xff0c;如果被反序列话的字符串其中对应的对象的属性个数发生变化时&#xff0c;会导致反序列化失败而同时使得__wakeup 失效&#xff08;CV…

MySQL每日一练--销售管理系统

一&#xff0c;创建数据库SaleSys 二&#xff0c;在数据库SaleSys中创建3张表 品牌信息表&#xff08;brand&#xff09; BrandId --品牌编号&#xff0c;整型&#xff0c;自动增长&#xff0c;主键BrandName --品牌名称&#xff0c;字符型&#xff0c; 唯一约束 商品表…

7 集群基本测试

1. 上传小文件到集群 在hadoop路径下执行命令创建一个文件夹用于存放即将上传的文件&#xff1a; [atguiguhadoop102 ~]$ hadoop fs -mkdir /input上传&#xff1a; [atguiguhadoop102 hadoop-3.1.3]$ hadoop fs -put wcinput/work.txt /input2.上传大文件 [atguiguhadoop1…

【百草阁送书-第二期】一名阿里服务端开发工程师的进阶之路

文章目录 一、前言二、AI 时代&#xff0c;服务端开发面临新挑战三、服务端开发会被 AI 取代吗&#xff1f;四、知识体系化&#xff0c;构建核心竞争力五、业界首本体系化、全景式解读服务端开发的著作六、参与抽奖方式 一、前言 目前&#xff0c;资讯、社交、游戏、消费、出行…

C#__使用Thread启动线程和传输数据

class Program{static void Test(){Console.WriteLine("Start……");Thread.Sleep(2000); // 1s等于1000ms&#xff0c;暂停2sConsole.WriteLine("end");}static void Download(Object ob){string str ob as string; // 遍历传递过来的ob字符串Console.Wr…

leetcode 739. 每日温度

2023.8.28 本题用暴力双层for循环解会超时&#xff0c;所以使用单调栈来解决&#xff0c;本质上是用空间换时间。维护一个单调递减栈&#xff0c;存储的是数组的下标。 代码如下&#xff1a; class Solution { public:vector<int> dailyTemperatures(vector<int>&…

学习记录——FeatEnHancer

FeatEnHancer: Enhancing Hierarchical Features for Object Detection and Beyond Under Low-Light Vision 一种适用于任意低光照任务增强方法 ICCV 2023 提出了FeatEnHancer&#xff0c;一种用于低光照视觉任务的增强型多尺度层次特征的新方法。提议的解决方案重点增强相关特…

checkstyle检查Java编程样式:空格检查

一个空行不能有空格 例如&#xff0c;第22行是空行&#xff0c;有4个空格&#xff0c;checkstyle检查报错&#xff1a; 将4个空格删掉&#xff0c;checkstyle检查通过&#xff1a; 行末尾不能有空格 将行末尾的空格删掉即可消除这个违反项&#xff1a; 用WhitespaceAfte…

uniapp启动微信小程序开发者工具报错Enable IDE Service (y/N) 

下载安装好微信小程序开发者路径 配置好启动路径后 报错[微信小程序开发者工具] ? Enable IDE Service (y/N) [27D[27C 解决办法 因为微信开发者工具的服务端口号没有打开

5 群起集群

1.在启动集群之前&#xff0c;先配置workers,有几个节点就配置几个 [atguiguhadoop102 hadoop]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/workers在该文件中增加如下内容&#xff1a; hadoop102 hadoop103 hadoop104 注意&#xff1a;该文件中添加的内容结尾不允许有空格&a…

打造个人的NAS云存储-通过Nextcloud搭建私有云盘实现公网远程访问

文章目录 摘要1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 摘要 Nextcloud,它是ownCloud的一个分支,是一个文件共享服…

数据结构(Java实现)-ArrayList与顺序表

什么是List List是一个接口&#xff0c;继承自Collection。 List的使用 List是个接口&#xff0c;并不能直接用来实例化。 如果要使用&#xff0c;必须去实例化List的实现类。在集合框架中&#xff0c;ArrayList和LinkedList都实现了List接口。 线性表 线性表&#xff08;lin…

爬虫selenium获取元素定位方法总结(动态获取元素)

目录 元素 查看元素信息 元素定位 通过元素id定位 通过元素name定位 通过xpath表达式定位 绝对路径 相对路径 通过完整超链接定位 通过部分链接定位 通过标签定位 通过类名进行定位 通过css选择器进行定位 id选择器 class选择器 标签选择器 属性选择器 定位带…

华为云物联网平台微信小程序开发教程2.0【完整详细教程】

一、简介 在之前曾发布过一篇文章“华为云物联网平台的微信小程序开发”&#xff0c;在最近接到部分用户私信在使用开发过程中出现的问题&#xff0c;例如API访问的"401"现象等问题&#xff0c;在重新查看上面的文章教程时发现教程内容的步骤不详细&#xff0c;现对教…

上位机采集8通道模拟量模块数据

模拟量模块和上位机的配合使用可以实现对模拟量数据的采集、传输和处理。下面是它们配合使用的一般步骤&#xff1a;1. 连接模拟量模块&#xff1a;将模拟量模块与上位机进行连接。这通常涉及将模拟量模块的输入通道与被监测的模拟信号源连接起来&#xff0c;如传感器、变送器等…

使用实体解析和图形神经网络进行欺诈检测

图形神经网络的表示形式&#xff08;作者使用必应图像创建器生成的图像&#xff09; 一、说明 对于金融、电子商务和其他相关行业来说&#xff0c;在线欺诈是一个日益严重的问题。为了应对这种威胁&#xff0c;组织使用基于机器学习和行为分析的欺诈检测机制。这些技术能够实时…