vue中的插槽

  在vue中,有的名词听着高大上,挺怪异的,比如插槽,就是slot,它的作用是为了解决组件之间写的内容在组件中的使用问题。

  一、插槽的作用

<!DOCTYPE html>
<html>
<head><title>Vue中的插槽</title><script src="vue.js"></script>
</head>
<body><div id="app"><mycard>111</mycard>          <mycard>222</mycard>          <mycard></mycard>          </div><!-- 组件 AddPerson --><template id="infoCard"><div><slot>这是默认信息</slot></div></template><script>Vue.component('mycard', { template: '#infoCard' });new Vue({ el: '#app'});</script>
</body>
</html>

  显示结果:

  可以看出,在组件的模板定义中使用<slot></slot>就可以使用该组件在父项中定义的内容,如果没有定义,那么就使用slot默认的定义。

  二、插槽的具名使用

  为了更灵活、更丰富地使用该组件使用时的定义信息,vue定义了具名插槽。

<!DOCTYPE html>
<html>
<head><title>Vue的插槽</title><script src="vue.js"></script>
</head>
<body><div id="app"><mycard  style="background-color: aquamarine;"><header>头部1</header>11111<footer>底部1</footer></mycard>          <mycard  style="background-color: rgb(160, 177, 65);"><header>头部2</header>22222</mycard><mycard style="background-color: rgb(102, 87, 235);">33333 <footer>底部3</footer></mycard>          <mycard style="background-color: rgb(238, 105, 209);">44444</mycard>          <mycard style="background-color: rgb(240, 180, 130);"></mycard>          </div><template id="infoCard"><div><slot #header></slot>这是信息内容:{{info}}<slot name="footer"></slot></div></template><script>Vue.component('mycard', {data(){return {  info:"Infomation"  }},template: '#infoCard',methods: {},props: ['infos']});new Vue({ el: '#app'});</script>
</body>
</html>

  显示结果:

  注意:
    1、如果”这是信息内容:{{info}}“放在最顶端,那么该内容就出现在顶端,否则是出现在底端;
    2、具名插槽就是slot的使用根据名称对应;
    3、如果定义了slot,那么只要组件使用时定义了内容那么该内容就会出现在组件中;
    4、如果组件使用时没有定义了内容,那么具名插槽就不起作用。
  三、插槽的传值

<!DOCTYPE html>
<html>
<head><title>Vue的插槽</title><script src="vue.js"></script>
</head>
<body><div id="app"><mycard  :infos="message" v-slot:default="myprops">{{myprops.mynews.title}}<br>{{myprops.mynews.content}}</mycard>          <p>---分割线---</p><mycard  :infos="message" v-slot:default="myprops"></mycard>          </div><template id="infoCard"><div><span>{{infos.title}}</span><br><slot :mynews="news">{{news.title}}--{{news.content}}</slot></div></template><script>Vue.component('mycard', {data(){return {  news:{title:"组件内部的新闻标题",content:"组件内部的新闻内容"}  }},template: '#infoCard',props: ['infos']});new Vue({el: '#app',data:{message:{title:'父项的标题'}}});</script>
</body>
</html>

  显示结果:

  注意:
    1、如果在插槽中定义了绑定,那么使用组件中必须定义内容,否则报错;
    2、在插槽中定义绑定是为了父项使用该组件时在内容中引用该组件的参数;
    3、如果在父项使用该组件时没有定义内容那么模板中放置的内容才起作用;
    4、这个定义与使用有点绕,看下面的图示就比较清楚了。

  在模板中使用mynews与组件内定义的news关联也就是绑定,在使用该组件时缺省定义了myprops,这相当于入口地址或者参数传入的顶部对象,也可以理解为一个容器,传进来的对象放置在这个容器当中,接下来就可以通过对象引用的方式使用组件内部定义的参数了。

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

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

相关文章

接口测试-Mock测试方法

一、关于Mock测试 1、什么是Mock测试&#xff1f; Mock 测试就是在测试过程中&#xff0c;对于某些不容易构造&#xff08;如 HttpServletRequest 必须在Servlet 容器中才能构造出来&#xff09;或者不容易获取的比较复杂的对象&#xff08;如 JDBC 中的ResultSet 对象&#…

EHS管理系统为何需要物联网的加持?

EHS是Environment、Health、Safety的缩写&#xff0c;是从欧美企业引进的管理体系&#xff0c;在国外也被称为HSE。EHS是指健康、安全与环境一体化的管理。 而在国内&#xff0c;整个EHS市场一共被分成三类&#xff1b; 一类是EHS管培体系&#xff0c;由专门的EHS机构去为公司…

flume案例

在构建数仓时&#xff0c;经常会用到flume接收日志数据&#xff0c;通常涉及到的组件为kafka&#xff0c;hdfs等。下面以一个flume接收指定topic数据&#xff0c;并存入hdfs的案例&#xff0c;大致了解下flume相关使用规则。 版本&#xff1a;1.9 Source Kafka Source就是一…

有色金属市场分析:预计2023年产量增幅在3.5%左右

上周各有色金属品种走势接近&#xff0c;均呈现出周初持续走弱、最后两个交易日反弹的走势。影响有色金属行情的主线逻辑一个是美国债务上限谈判的进展情况&#xff0c;另一个是全球经济衰退的预期。上周四和上周五市场整体反弹&#xff0c;主要由于美国债务上限谈判出现进展&a…

【FAQ】NPM 引入本地依赖包

背景 npm 本地依赖包分为 本地文件夹类型 本地文件夹类型的依赖包适用于在编写插件的 dome 示例项目时使用&#xff0c;在无需将包发布到 npm 仓库的情况&#xff0c;做到实时编译&#xff0c;修改 本地压缩包类型 压缩包类型的依赖包适用于没有外网和没有 npm 私有仓库&…

day27 组合总和 组合总和Ⅱ 分割回文串

题目1&#xff1a;39 组合总和 题目链接&#xff1a;39 组合总和 题意 找出无重复元素的正整数数组candidates中元素和为目标数target的所有不同组合&#xff0c;同一个数字可重复选取 回溯 回溯三部曲&#xff1a; 1&#xff09;参数和返回值 2&#xff09;终止条件 3…

php基础学习之常量

php常量的基本概念 常量是在程序运行中的一种不可改变的量&#xff08;数据&#xff09;&#xff0c;常量一旦定义&#xff0c;通常不可改变&#xff08;用户级别&#xff09;。 php常量的定义形式 使用define函数&#xff1a;define("常量名字", 常量值);使用cons…

对有状态组件和无状态组件的理解及使用场景

&#xff08;1&#xff09;有状态组件 特点&#xff1a; ● 是类组件 ● 有继承 ● 可以使用this ● 可以使用react的生命周期 ● 使用较多&#xff0c;容易频繁触发生命周期钩子函数&#xff0c;影响性能 ● 内部使用 state&#xff0c;维护自身状态的变化&#xff0c;有状态组…

【C++】函数重载

C 中的函数重载&#xff08;Function Overloading&#xff09;是指在同一个作用域内&#xff0c;可以定义多个名称相同但参数列表不同的函数。通过函数重载&#xff0c;可以根据传递给函数的参数类型或数量的不同&#xff0c;选择适当的函数来执行。 函数重载的条件 C 函数重…

EasyDarwin计划新增将各种流协议(RTSP、RTMP、HTTP、TCP、UDP)、文件转推RTMP到其他视频直播平台,支持转码H.264、文件直播推送

之前我们尝试做过EasyRTSPLive&#xff08;将RTSP流转推RTMP&#xff09;和EasyRTMPLive&#xff08;将各种RTSP/RTMP/HTTP/UDP流转推RTMP&#xff0c;这两个服务在市场上都得到了比较多的好评&#xff0c;其中&#xff1a; 1、EasyRTSPLive用的是EasyRTSPClient取流&#xff…

信号量、互斥锁并发机制

区分&#xff1a; 信号&#xff1a;通讯机制 信号量&#xff1a;并发控制 一、信号量&#xff1a;基于阻塞的并发控制机制 a.定义信号量 struct semaphore sem; b.初始化信号量 void sema_init(struct semaphore *sem, int val); c.获得信号量P操作 int down(struct semap…

内网穿透的应用-如何使用Docker部署Redis数据库并结合内网穿透工具实现公网远程访问

文章目录 前言1. 安装Docker步骤2. 使用docker拉取redis镜像3. 启动redis容器4. 本地连接测试4.1 安装redis图形化界面工具4.2 使用RDM连接测试 5. 公网远程访问本地redis5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主要介绍如何在Ub…

QT中QApplication对象有且只有一个

QT中QApplication对象有且只有一个 QApplication对象 QApplication对象 QApplication是应用程序对象 #include <QApplication> int main(int argc,char* argv[]); {//a对象在一个程序中有且只有一个&#xff0c;QT中要求必须有一个QApplication a&#xff08;argc,argv…

RT-Thread 17. 中断发送信号量后线程去处理信号量

1. 代码 //sem.c #include <rtthread.h> #include <rtdevice.h> #include "drv_gpio.h"#define THREAD_PRIORITY 25 #define THREAD_TIMESLICE 5#define LED3_PIN GET_PIN(B, 3) ALIGN(RT_ALIGN_SIZE) static char thread3_stack[1024]; static struct…

【Spring 篇】MyBatis多表操作:编织数据的交响乐

欢迎来到MyBatis的多表操作世界&#xff01;在这个充满交响乐的舞台上&#xff0c;我们将探索如何巧妙地编织多个数据表的数据&#xff0c;创造出一场旋律动听的数据交响曲。无需繁琐的SQL拼接&#xff0c;MyBatis让多表操作变得优雅而简单。让我们一起进入这个音乐殿堂&#x…

司铭宇老师:房地产电话营销培训:房地产电话销售话术与销售技巧:打造高转化率的电话营销策略

房地产电话营销培训&#xff1a;房地产电话销售话术与销售技巧&#xff1a;打造高转化率的电话营销策略 在房地产销售中&#xff0c;电话销售是一种常见且有效的营销手段。它不仅可以快速触达潜在客户&#xff0c;还能够建立起销售人员与客户之间的初步信任关系。然而&#xff…

大模型学习之书生·浦语大模型6——基于OpenCompass大模型评测

基于OpenCompass大模型评测 关于评测的三个问题Why/What/How Why What 有许多任务评测&#xff0c;包括垂直领域 How 包含客观评测和主观评测&#xff0c;其中主观评测分人工和模型来评估。 提示词工程 主流评测框架 OpenCompass 能力框架 模型层能力层方法层工具层 支持丰富…

C++从小白到初级工程师【个人学习笔记】

目录 1.背景2.基础二维数组概念二维数组定义方式 二维数组数组名称概念例子 函数的分文件编写概念示例 指针指针的基本概念指针变量的定义和使用 空指针和野指针空指针实例野指针实例 const修饰指针概念const修饰指针 --- 常量指针 指针和数组作用示例 指针和函数作用示例 指针…

项目解决方案:某城区(区县)社会面视频监控资源接入汇聚解决方案

目 录 一、概述 二、建设目标及需求 1.建设目标 2.需求分析 2.1 总体需求 2.2 需求细化 三、方案设计 1.设计依据 2.设计原则 3.设计方案 3.1.方案描述 3.2.组网说明 四、产品介绍 1.视频监控综合资源管理平台介绍 2.视频录像服务器和存储 2.1…

Android studio 之 弹窗PopupWindow

1.准备弹窗视图 popuop_layout.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:orientation"horizontal"android:background"#00ffff&…