component 和slot -----vue3

news2025/1/11 21:49:25

前言:
辗转几个公司发现基本上有点规模的公司都会有自己的平台,无论是开发平台还是其他什么,都脱离不了一个功能点,那就是组件;无论你是自己从0到1建立的平台还是基于别的已有的平台,都是这样;无非是组件的套娃,只要你梳理清楚平台的主要枝干,熟悉一些前端基本知识,然后掌握组件使用,加一些js逻辑,基本上都可以很快熟悉并上手他们的业务(当牛马)。

组件必备

1. component

component
一个用于渲染动态组件或元素的“元组件”。

作为动态组件是必不可少的,这里以vue3的setup 单文件组件为例(组合式api)
创建一个vue3工程之后,你需要随意写个页面作为组件来测试
在这里插入图片描述
然后在你需要用组件的地方引入这个组件并且使用component 来使用它
在这里插入图片描述
要渲染的实际组件由 is prop 决定。
当 is 是字符串,它既可以是 HTML 标签名也可以是组件的注册名。
或者,is 也可以直接绑定到组件的定义。

这里的component的is需要用:组件实例,如图所示,测试了多个不用的方式给:is 赋值 发现reactive 返回的对象代理直接给他赋值是不能展示的,可以使用ref()或者shallowRef() 返回的变量值。

(注意:这里用ref的话,vue给出警告Vue接收到一个组件,该组件被制成反应对象。这可能会导致不必要的性能开销,应该通过将组件标记为“markRaw”或使用“shallowRef”而不是“ref”来避免。如果使用
markRaw 那么currentComp将不永远不会再成为响应式对象。 所以得使用 shallowRef)

或者直接不用变量,直接:is= ‘testDay01’ 也可以展示,这里只展示怎么使用详情请查看reactive;
注意:
reactive 返回的一个代理对象proxy ,更改原始对象不会触发更新,但是值依然会被改变,更改proxy 可以正常触发更新,并且原始对象也会更新。

2.slot

子组件中的提供给父组件使用的一个占位符
父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的<slot></slot>标签。它允许你在父组件中插入子组件的内容,从而实现更大的灵活性可复用性
他可以说是贯穿了整个vue3项目,无论是自己写组件还是用成熟的组件库都脱离不了它,例如:在这里插入图片描述
这其中的# ***=“scope” 的写法其实也是 slot 为default的实际运用,
下面简单介绍下用法:

基本用法

<!-- ParentComponent.vue -->
<template>
  <ChildComponent>
    <p>This is content from the parent.</p>
  </ChildComponent>
</template>

<!-- ChildComponent.vue -->
<template>
  <div>
    <slot></slot> <!-- This will render content from the parent -->
  </div>
</template>

命名插槽

你可以使用命名插槽来插入特定位置的内容:

<!-- ParentComponent.vue -->
<template>
  <ChildComponent>
    <template v-slot:header>
      <h1>This is the header</h1>
    </template>
    <template v-slot:footer>
      <p>This is the footer</p>
    </template>
  </ChildComponent>
</template>

<!-- ChildComponent.vue -->
<template>
  <div>
    <header>
      <slot name="header"></slot>
    </header>
    <main>
      <slot></slot> <!-- Default slot -->
    </main>
    <footer>
      <slot name="footer"></slot>
    </footer>
  </div>
</template>

作用域插槽

作用域插槽允许子组件传递数据到插槽中:

<!-- ParentComponent.vue -->
<template>
  <ChildComponent>
    <template v-slot:default="slotProps">
      <p>{{ slotProps.message }}</p>
    </template>
  </ChildComponent>
</template>

<!-- ChildComponent.vue -->
<template>
  <div>
    <slot :message="message"></slot>
  </div>
</template>

<script setup>
const message = 'Hello from child';
</script>

总结

  1. 默认插槽:<slot></slot> 用于插入父组件的内容。
  2. 命名插槽:<slot name="slotName"></slot> 用于插入具有特定名称的内容。
  3. 作用域插槽:允许子组件向插槽传递数据,以便父组件使用。

通过这些方式,你可以灵活地定义和使用组件中的内容。

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

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

相关文章

2024年CAD图纸加密软件大盘点:10款高效CAD加密工具大揭秘!

在当今数字化时代&#xff0c;CAD图纸的安全性变得尤为重要。随着设计数据的不断增长&#xff0c;保护这些敏感信息免受未经授权的访问和泄露已成为企业必须面对的挑战。为了应对这一需求&#xff0c;市场上涌现了众多CAD图纸加密软件。本文将为您盘点2024年最值得关注的10款高…

OpenAI 的 o1 大模型在数学和编码方面有了几乎 10 倍的能力提升!

你有没有想过,有一天人工智能可以在数学和编程这两个领域里,真正成为人类的“得力助手”,甚至是超越我们?最近,OpenAI 发布的 o1大模型在这方面取得了几乎 10 倍的能力提升。10 倍!你没有看错。这样的进步让人不禁怀疑:AI 真的能做到“秒懂”数学和编程吗?今天,我们就…

骨传导耳机品牌排行榜前五名,有哪些好用的骨传导耳机品牌值得入手?

我是一名专业的数码产品测评博主&#xff0c;在多年的职业生涯中&#xff0c;发现很多人在使用骨传导耳机后都出现了佩戴不舒服的现象。对此&#xff0c;我希望大家能重视骨传导耳机款式的挑选&#xff0c;因为市面上不专业的产品数量众多&#xff0c;它们纷纷打着保护听力的旗…

【Python爬虫系列】_019.生产者和消费者模型

课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈PyQt5 系 列 教 程:👉👉 Python

服务器数据恢复—Linux操作系统环境下网站数据的恢复案例

服务器数据恢复环境&#xff1a; 一台linux操作系统服务器上跑了几十个网站&#xff0c;服务器上只有一块SATA硬盘。 服务器故障&#xff1a; 服务器突然宕机&#xff0c;尝试再次启动失败。将硬盘拆下检测&#xff0c;发现存在坏扇区。找当地一家数据恢复公司处理后&#xff…

Application pool xxx has been disabled

现象&#xff1a; 项目采用分布式应用&#xff0c;总共三台服务器&#xff0c;第一台的某个应用无法访问报错Error: Service Layer is under maintenance&#xff0c;第二三台可以正常访问 问题排查&#xff1a; 通过排查ETW&#xff08;无任何报错&#xff09;和EventLog发现…

一款免费试用的答题小程序

一款可以免费试用的答题PK小程序。适用于各类知识竞赛答题活动。如网络安全知识竞赛、安全生产知识竞赛、交通知识竞赛答题、企业文化学习答题等。 其功答题功能丰富多彩&#xff0c;除了个人学习答题外&#xff0c;还有好友PK答题、排位升级PK答题、专题1V1pk答题、团队多人…

Android Framework(五)WMS-窗口显示流程——窗口布局与绘制显示

文章目录 relayoutWindow流程概览应用端处理——ViewRootImpl::setView -> relayoutWindowViewRootImpl::setViewViewRootImpl::performTraversalsViewRootImpl::relayoutWindow Surface的创建WindowManagerService::relayoutWindow了解容器类型和Buff类型的SurfaceBuff类型…

为什么要引入lims系统?第三方检测实验室lims系统的好处

第三方检测机构面临多样化的管理和数据处理问题&#xff0c;实验室信息管理系统(LIMS)成为了提升效率和准确性的关键工具。本文将探讨第三方检测机构为什么要引进LIMS系统&#xff0c;并详细介绍白码LIMS系统的优势及应用案例&#xff0c;帮助各类检测机构解决实际难题。 白码…

低代码平台与AI融合:企业如何快速实现数字化转型?

引言&#xff1a;数字化转型的迫切性 在当今高度竞争的市场环境中&#xff0c;数字化转型已成为企业生存与发展的关键因素。无论是中小型企业&#xff0c;还是跨国巨头&#xff0c;都面临着相似的挑战&#xff1a;如何在信息技术飞速发展的背景下&#xff0c;快速适应市场变化&…

Docker容器技术1——docker基本操作

Docker容器技术 随着云计算和微服务架构的普及&#xff0c;容器技术成为了软件开发、测试和部署过程中的重要组成部分。其中&#xff0c;Docker作为容器技术的代表之一&#xff0c;以其简便易用的特点赢得了广大开发者的青睐。 Docker允许开发者在轻量级、可移植的容器中打包和…

举个例子简单告诉你什么是期货期权?

期权&#xff0c;本质上是一种在未来是否决定行使的权益&#xff0c;它预设了当前对未来某一经济行为的权利选择。期权分为买权&#xff08;或称看涨期权&#xff09;与卖权&#xff08;或称看跌期权&#xff09;&#xff0c;分别代表了未来买入或卖出资产的权利。 以黄豆市场…

Qt-QRadioButton控件(23)

目录 描述 相关API 使用 添加默认选项 禁用其他选项 四种触发槽函数的方式 模拟一个点餐系统 分组 描述 这个就是用来做那个单选按钮的&#xff0c;就是几个选择中选一个&#xff0c;默认只能选一个 相关API 使用 创建新项目&#xff0c;如下 添加槽函数&#xff0c;…

新升级|模型面数更少!优化管道/圆柱形模型、直线边曲面模型选用不同的策略

天元轻量化软件的【微分CAD】功能&#xff0c;采用创新智能算法&#xff0c;将CAD模型的曲面化数据自动转换为多边形数据。用户只需要对CAD零件模型预先设定好关键参数&#xff0c;就可以在数十秒内得到一个经过优化处理的3D零件模型。整个转换过程无需人手操作&#xff0c;实现…

什么是人力资源管理软件?HR人力软件有哪些功能?

在人力资源管理中&#xff0c;随着科技的迅猛发展和商业环境的日益复杂化&#xff0c;企业对人力资源管理系统&#xff08;eHR&#xff09;的需求不断增加。人力资源管理软件&#xff0c;简称eHR&#xff0c;是一种融合了系统学理论方法的管理工具&#xff0c;旨在通过技术手段…

保姆级教程:利用大模型与高德地图API,轻松实现查找附近咖啡店

随着人工智能和地图服务的迅速发展&#xff0c;我们可以轻松地利用这些工具实现各种便捷功能。例如&#xff0c;通过整合OpenAI的大模型和高德地图API&#xff0c;可以快速查找某个地址附近的咖啡店。本文将介绍如何通过远程调用和多功能调用大模型&#xff0c;结合高德地图API…

MySQL 视图:数据库中的灵活利器

《MySQL 视图&#xff1a;数据库中的灵活利器》 在数据库的世界里&#xff0c;视图&#xff08;View&#xff09;是一个强大而实用的工具。它为我们提供了一种灵活的方式来访问和处理数据&#xff0c;同时也带来了许多优点。那么&#xff0c;什么是视图呢&#xff1f;它又有哪…

生成式人工智能大模型及其电力系统数智化应用前沿

《生成式人工智能大模型及其电力系统数智化应用前沿报告&#xff08;2024&#xff09;》 大纲目录 一、人工智能发展概述 二、从ChatGPT到Sora:生成式大模型国内外发展历程及布局 三、新型电力系统概述 四、基于新一代人工智能的新型电力系统数智化升级 五、生成式大模型…

SpringCloud - 服务网关(一)

服务网关 Spring Cloud Gateway作为Spring Cloud生态中的网关&#xff0c;不仅提供统一的路由能力&#xff0c;并且还提供了基于FILTER链方式的网关基本的功能。 Spring Cloud Gateway是一个全新的API网关项目&#xff0c;可以替换Zuul开发的网关服务&#xff0c;基于Spring5.…

远程访问NAS

远程访问NAS&#xff08;网络附加存储&#xff09;可以通过多种方法实现&#xff0c;每种方法都有其特定的适用场景和优势。以下是一些常见的远程访问NAS的方法&#xff1a; 一、VPN&#xff08;虚拟专用网络&#xff09; VPN是通过公共网络建立安全的连接&#xff0c;实现远…