学习vue3第十节(插槽v-slot)

本节主要介绍一下 v-slot 插槽指令,以及插槽相关内容

1、定义:

子组件给父组件提供使用的一个位置,使用<slot></slot>表示,父组件可以在这个位置填充任何代码;

2、默认插槽

匿名插槽:会自定渲染一个 #default插槽,将没有声明的名称的内容,放入default中

<template>
<!-- 子组件 --><div class="child"><h2>子组件</h2><slot>默认内容</slot> // 内容会渲染到slot中</div>
</template>
<!-- 父组件 -->
<template><div class="par"><h3>父组件</h3><Child>匿名插槽,内容将会渲染到子组件的slot中</Child> // 此处无内容时,会渲染子组件中的默认内容;</div>
</template>

如图:
在这里插入图片描述

可以看到父组件下的 Child中的内容会自动渲染到 子组件中的slot中;
如果父组件中的Child中没有内容,则会自动渲染子组件中 slot 中的默认内容;如果父组件中的Child中有内容,则会替代子组件 slot 中的默认内容;

3、具名插槽

具名插槽就是为要渲染的内容指定一个位置,让其待着指定的位置;父组件会根据具名插槽的(slot="header" 或者 #header)会渲染到子组件中相同名称的插槽中;
具名插槽可以有多个不同名称的插槽,而匿名插槽只能有一个,同时,在父组件中没有声明的插槽内容都会渲染到子组件的匿名插槽中;

<template>
<div class="par"><h3>父组件</h3><!-- <Child ><template #:header>父组件渲染的具名插槽</template></Child> --><Child ><template v-slot:header>父组件渲染的具名插槽</template></Child> // #header表示具名插槽的名字 简写方式</div>
</template>
<script setup>
import Child from './components/childSlot.vue'
</script>
<template><!-- 子组件 --><div class="child"><h2>具名插槽</h2><slot name="header"></slot></div></template>

4、动态插槽

动态插槽名就是插槽名变成了变量的形式,我们可以随时修改这个变量从而展示不同的效果。它的写法是v-slot:[变量名]或者缩写为#[变量名]

  <template><div class="par"><h3>父组件</h3><Child ><template v-slot:[slotName]>动态插槽</template></Child> </div></template><script setup>import Child from './components/childSlot.vue'const slotName = ref('foot') // 声明动态插槽名称为 子组件的插槽名渲染到foot插槽名中;</script>

5、作用域插槽

作用域插槽就是父组件进行增删改查操作,向子组件传递数据;同时子组件通过插槽获取数据,同时子组件可以修改数据,然后再通过插槽返回给父组件;

<template><!-- 子组件 --><div class="child"><h2>子组件</h2><h2>作用域插槽</h2><slot text="作用域插槽2222" ></slot><slot text="具名插槽作用域" name="foot2"></slot></div></template>
 <template><div class="par"><h3>父组件</h3><Child v-slot="{text}">{{text}} // 作用域插槽,渲染出来的内容是:“作用域插槽2222”</Child> <Child ><!-- 具名插槽 作用域 --><Child ><template #foot2="foot2Props">{{foot2Props.text}} // 作用域插槽,渲染出来的内容是:“具名插槽作用域”</template></Child> </div></template>

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

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

相关文章

JavaScript中的正则表达式使用总结

JavaScript中的正则表达式是一种强大的工具&#xff0c;用于处理文本数据&#xff0c;包括搜索、匹配和替换文本中的特定字符或模式。以下是对JavaScript中正则表达式使用的一些总结&#xff1a; 1. 创建正则表达式 在JavaScript中&#xff0c;你可以使用字面量或RegExp对象来…

管道疏通房屋补漏官方网站源码-视频搭建教程

[安全]修复jquery低版本的xss安全漏洞&#xff0c;升级用最新版jquery&#xff1b; [新增]后台的登录页、欢迎页支持自定义模板文件&#xff1b; [新增]后台多语言列表管理支持手工同步文档数据&#xff1b; [新增]后台商品发布时&#xff0c;单规格商品支持会员折扣价的设置…

微信小程序多图列表页面性能问题为什么会出现?如何解决?

微信小程序中的多图列表页面性能问题主要是由于以下几个原因导致的&#xff1a; 图片过大&#xff1a;在多图列表页面中&#xff0c;如果图片过大&#xff0c;会导致页面加载时间过长&#xff0c;从而影响用户体验。请求过多&#xff1a;在多图列表页面中&#xff0c;如果一次…

C语言自定义类型联合体和枚举

union n.工会&#xff1b;联邦&#xff0c;联盟&#xff1b;协会&#xff0c;俱乐部&#xff1b;联合&#xff0c;合并&#xff1b; 结婚&#xff0c;婚姻&#xff1b;美利坚合众国&#xff08;the Union&#xff09;&#xff1b; &#xff08;数&#xff09;并&#xff0c;并集…

Java学习10

目录 一.多态&#xff1a; 1.方法的多态&#xff1a; 2.对象的多态&#xff1a; 3.多态的注意事项与细节&#xff1a; 5.多态的应用: 二.Java的动态绑定机制&#xff1a; 三.多态应用&#xff1a; 1.多态数组&#xff1a; 2.多态参数&#xff1a; 三.Object类&#xf…

交互式QGraphicsView(平移/缩放/旋转)

一 简述 Graphics View提供了一个平台&#xff0c;用于大量自定义 2D 图元的管理与交互&#xff0c;框架包括一个事件传播架构&#xff0c;支持场景 Scene 中的图元 Item 进行精确的双精度交互功能。Item 可以处理键盘事件、鼠标按下、移动、释放和双击事件&#xff0c;同时也…

golang实现枚举

golang实现枚举 golang实现枚举 golang本身是没有枚举类型的&#xff0c;不像c语言&#xff0c;但是可以通过const & iota实现枚举的能力。 枚举在类似于业务状态或者少量下拉选择框中经常使用&#xff0c;比如 业务状态&#xff1a;待开始、进行中、失败、成功package ma…

福昕阅读器 PDF 文档基本操作

福昕阅读器 PDF 文档基本操作 References 转至 PDF 顶部 快捷键&#xff1a;Home. 转至 PDF 顶部 快捷键&#xff1a;End. 打开超链接 文本选择工具 -> 手形工具 (Hand Tool) -> 点击超链接 福昕阅读器 同时在多个窗口中打开多个文件 文件 -> 偏好设置 -> 文…

高中信息技术教资刷题笔记_选择题篇

1.信息技术基础 位与字节的换算 模2除法运算 网页保存 进制之间的计算 教你快速学会二进制、十进制、十六进制之间的转换 - 知乎 (zhihu.com) 原码、补码、反码计算 物联网技术 位运算 按位与&#xff1a;同位置为1&#xff0c;则为1&#xff0c;其他都是0按位或&#xff1a;有…

黑帽子学Python

黑帽子学Python Python位运算符 运算符描述示例&按位与运算符&#xff1a;参与运算的两个值&#xff0c;如果两个相应位都为1&#xff0c;则该为的结果为1&#xff0c;否则为0(a&b)输出结果12&#xff0c;二进制解释&#xff1a;0000 1100按位或运算符&#xff1a;只…

MRC是谁?- 媒体评级委员会 Media Rating Council

在在线广告的世界里&#xff0c;有许多不同的技术和实践用于提供和衡量广告。对于广告商、出版商和营销人员来说&#xff0c;了解这些技术是如何工作的以及如何有效使用这些技术很重要。在这方面发挥关键作用的一个组织是媒体评级委员会&#xff08;MRC&#xff09;。 1. 了解…

Android 项目新建问题总结

title: Android 项目新建问题总结 search: 2024-03-24 tags: “#Android 项目新建问题总结” Android 项目新建问题总结 一、gradle 项目每次都自动下载依赖包到C盘 背景&#xff1a;idea 首次打开一个 gradle 项目&#xff0c;都会在 C 盘下载项目所需的依赖包&#xff0c;但…

Automatic Prompt Engineering

让大模型自己生成prompt&#xff0c;生成提示&#xff08;prompt&#xff09;存在两种不同的操作方式。第一种方式是在文本空间中进行&#xff0c;这种提示以离散的文本形式存在。第二种方式是将提示抽象成一个向量&#xff0c;在特征空间中进行操作&#xff0c;这种提示是抽象…

React高阶组件(HOC)

高阶组件的基本概念 高阶组件&#xff08;HOC&#xff0c;Higher-Order Components&#xff09;不是组件&#xff0c;而是一个函数&#xff0c;它会接收一个组件作为参数并返回一个经过改造的新组件&#xff1a; const EnhancedComponent higherOrderComponent(WrappedCompo…

Go 实现fsnotify

【官方操作】 package mainimport ("log""github.com/fsnotify/fsnotify" )func main() {watcher, err : fsnotify.NewWatcher()if err ! nil {log.Fatal(err)}defer watcher.Close()done : make(chan bool)go func() {for {select {case event, ok : <…

使用 Docker Compose 部署 Spring Boot 应用

使用 Docker Compose 部署 Spring Boot 应用 第一步&#xff1a;创建 Spring Boot 应用的 Dockerfile 在您的 Spring Boot 项目根目录中创建一个 Dockerfile。 编辑 Dockerfile&#xff0c;添加以下内容&#xff1a; # 基础镜像使用 OpenJDK FROM openjdk:11-jdk-slim# 维护者…

Gitee删除自己本地仓库

1、打开自己的本地仓库 2、点击管理 3、选择删除仓库 4、将□的内容复制到⭕里

mysql 存储引擎 基本介绍

目录 一 存储引擎概念介绍 &#xff08;一&#xff09;存储引擎概念 &#xff08;二&#xff09;MySQL常用的存储引擎 &#xff08;三&#xff09;存储引擎运作方式 二 MyISAM 存储引擎介绍 &#xff08;一&#xff09; MyISAM 存储引擎特点 1&#xff0c;不支持…

基于51单片机数控直流电压源proteus仿真LCD显示+程序+设计报告+讲解视频

基于51单片机数控直流电压源proteus仿真LCD显示( proteus仿真程序设计报告讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器&#xff1a;keil 4/keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;S0072 讲解视频 基于51单片机数控直流电压源proteus仿真程序…

手机IP地址如何更换

手机IP地址的修改方法可以通过以下几种方式实现&#xff1a; 1. 手动更改IP地址&#xff1a;打开手机设置&#xff0c;进入网络设置页面&#xff0c;找到IP地址更改选项。在此页面输入新的IP地址和子网掩码&#xff0c;并启用DHCP服务器。请注意&#xff0c;并非所有手机都支持…