vue-cil组件引用

这段子组件代码是一个使用Vue 3 及其新特性 <script setup> 语法糖、以及 Ant Design Vue 图标库的简单组件示例。它根据传入的prop icon 来决定渲染哪一个图标。

<template><DesktopOutlined v-if="icon==='desktop'"/><HomeOutlined v-else-if="icon==='home'"/><TeamOutlined v-else-if="icon==='team'"/><UserOutlined v-else-if="icon==='user'"/><SettingOutlined v-else-if="icon==='settings'"/><CloudUploadOutlined v-else-if="icon==='cloud'"/><GithubOutlined v-else-if="icon==='git'"/><HistoryOutlined v-else-if="icon==='history'"/><MonitorOutlined v-else-if="icon==='monitor'"/><FileOutlined v-else/>
</template><script setup>const props = defineProps({icon: String
})import {CloudUploadOutlined,DesktopOutlined,FileOutlined,GithubOutlined,HistoryOutlined,HomeOutlined,MonitorOutlined,SettingOutlined,TeamOutlined,UserOutlined,
} from '@ant-design/icons-vue';</script><style scoped></style>

下面是这段代码的逐行解析:

<template>部分:

<template>部分定义了组件的HTML结构。在这个例子中,它通过一系列的条件判断(v-ifv-else-if)来确定渲染哪一个Ant Design Vue的图标组件。

  • 根据icon属性的值,这个模板会渲染不同的图标。例如,如果icon的值为"desktop",那么将渲染<DesktopOutlined>组件。
  • 如果所有的条件判断都不满足(即icon的值不是预设的任一值),将作为默认情况渲染<FileOutlined>图标。

<script setup>部分:

<script setup> 是 Vue 3 中引入的一个新增特性,旨在提供更简洁的组合式API(Composition API)使用方式。在这一部分:

  • defineProps函数用于定义组件的props。在这个例子里,定义了一个名为icon的prop,其类型为String
  • 然后通过import语句从@ant-design/icons-vue包中引入了一系列图标组件。

这意味着,当你使用这个组件并传入不同的icon值时,组件将对应地渲染出不同的图标。例如:

<!-- 渲染一个'家'的图标 -->
<YourComponent icon="home"/>

<style scoped>部分:

  • 这个部分允许你为这个组件定义样式,并且由于scoped属性的存在,这些样式仅作用于本组件,不会影响到其他组件或全局样式。

使用 <script setup> 语法糖定义的组件可以接收父组件传来的 props。在您提供的例子中,子组件期望接收一个名为 icon 的 prop,其数据类型为 String。以下是如何在父组件中使用这个子组件,并且如何传递 icon prop 的步骤。

定义子组件

首先,定义子组件时,使用了 <script setup> 语法,和 defineProps函数来声明它期望接收的 prop。如您所示:

<!-- 子组件 MyIconComponent.vue -->
<script setup>
// 通过 defineProps 定义组件接收的 props
const myProps = defineProps({icon: String
});
</script><template><div>Icon:{{ myProps.icon }}</div>
</template>

在这个例子中,子组件被命名为 MyIconComponent,并且它期望从父组件那里接收一个类型为 String 的 prop,名为 icondefineProps 返回的对象被赋值给 myProps,这样在模板中就可以通过 myProps.icon 来访问这个值。

使用子组件

在父组件中使用 MyIconComponent 时,需要先导入这个组件,然后就可以把 icon prop 传递给它。下面是如何做的:

  1. 首先,在父组件中导入 MyIconComponent 子组件。
  2. 然后,在父组件的模板中使用 <MyIconComponent> 标签,并通过 :icon 绑定属性传递数据。
<!-- 父组件 ParentComponent.vue -->
<template><div><!-- 使用子组件,并传递 icon prop --><MyIconComponent :icon="'home'" /></div>
</template><script setup>
// 导入子组件
import MyIconComponent from './MyIconComponent.vue';
</script>

在这个例子中,父组件通过 :icon="'home'" 给子组件 MyIconComponent 传递了一个字符串 "home" 作为 icon prop 的值。注意,这里的冒号 : 是个简写,表示这是一个 JavaScript 表达式,也就是说我们传递的是 "home" 这个字符串而非 "icon" 这个字符串的变量名。

总结

子组件通过 defineProps 定义期望接收的 props,父组件通过 prop 绑定(如 :icon="value")传递数据给子组件。这样,子组件就能够接收来自父组件的数据,并在其模板或逻辑中使用这些数据了。

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

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

相关文章

物理信息神经网络(PINN): 将物理知识融合到深度学习中

物理信息神经网络&#xff08;PINN&#xff09;: 将物理知识融合到深度学习中 物理信息神经网络&#xff08;PINN&#xff09;简介PINN的工作原理PINN模型如何利用物理法则指导模型训练1. 定义物理问题和相应的物理定律2. 构建神经网络3. 定义损失函数数据误差项 (Data-fidelit…

IoC原理

Spring框架的IOC是基于Java反射机制实现的&#xff0c;那具体怎么实现的&#xff0c;下面研究一下 反射 Java反射机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意方法…

32. 最长有效括号

Problem: 32. 最长有效括号 文章目录 思路解题方法复杂度Code 思路 给你一个只包含 ′ ( ′ ( ′(′ 和 ′ ) ′ ) ′)′ 的字符串&#xff0c;找出最长有效&#xff08;格式正确且连续&#xff09;括号子串的长度。 我们可以使用动态规划的方法来解决这道题目。我们定义一个 …

Linux 命令行的世界 :1.什么是shell

shell 是一个程序&#xff0c;它接受从键盘输入的命令&#xff0c;然后把命令传递给操作系统去执行。几乎所有的 Linux 发行版都提供一个名为 bash 的来自GNU项目的 shell 程序。现在来启动终端仿真器吧&#xff0c;一旦它运行起来&#xff0c;我们应该看到一行像这样的文字&am…

(52)只出现一次的数字III

文章目录 每日一言题目解题思路代码结语 每日一言 十年磨一剑&#xff0c;风雨未曾阻挡;愿你乘风破浪&#xff0c;不负韶华时光。 题目 题目链接&#xff1a;只出现一次的数字 给你一个整数数组 nums&#xff0c;其中恰好有两个元素只出现一次&#xff0c;其余所有元素均出现…

面试经典:Java中list set map之间的区别

前言 大家好&#xff0c;我是chowley&#xff0c;最近正在复习Java集合&#xff0c;这次来总结一下list、set、map它们三个之间的区别。 1. List&#xff08;列表&#xff09; 定义&#xff1a; List是一种有序集合&#xff0c;允许存储重复元素&#xff0c;每个元素都有一…

多 split 窗口 in Gtkmm4

文章目录 效果预览实现概要源代码 效果预览 实现概要 使用Gtk::Paned虽然 Paned 只能装两个子控件, 但是我可以嵌套 paned1 装 box1 和 box2 paned2 装 paned1 和 box3 源代码 #include <gtkmm.h> class ExampleWindow : public Gtk::Window { public:ExampleWindow()…

大模型基础架构的变革:剖析Transformer的挑战者(下)

上一篇文章中&#xff0c;我们介绍了UniRepLKNet、StripedHyena、PanGu-π等有可能会替代Transformer的模型架构&#xff0c;这一篇文章我们将要介绍另外三个有可能会替代Transformer的模型架构&#xff0c;它们分别是StreamingLLM、SeTformer、Lightning Attention-2&#xff…

07 A B 从计数器到可控线性序列机

07. A.从计数器到可控线性序列机 让LED灯按照亮0.25秒。灭0.75秒的状态循环亮灭让LED灯按照亮0.25秒&#xff0c;灭0.5秒&#xff0c;亮0.75秒&#xff0c;灭1秒的状态循环亮灭让LED灯按照指定的亮灭模式亮灭&#xff0c;亮灭模式未知&#xff0c;由用户随即指定。以0.25秒为一…

高职单招怎么搜答案? #经验分享#微信#笔记

当今社会&#xff0c;随着信息技术的迅猛发展&#xff0c;大学生们在学习过程中面临着各种各样的困难和挑战。而在这些挑战中&#xff0c;面对繁重的作业和复杂的题目&#xff0c;大学生搜题软件应运而生 1.题老大 这是一个公众号 亿级数量题库&#xff0c;可截图搜题&#…

动态SQl简单创建

创建pojo实体类&#xff0c;使用lombok注解 package com.example.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.time.LocalDate; import java.time.LocalDateTime;Data NoArgsConstructor AllArgsConstructor pu…

Maven私服部署与JAR文件本地安装

Nexus3 是一个仓库管理器&#xff0c;它极大地简化了本地内部仓库的维护和外部仓库的访问。 平常我们在获取 maven 仓库资源的时候&#xff0c;都是从 maven 的官方&#xff08;或者国内的镜像&#xff09;获取。团队的多人员同样的依赖都要从远程获取一遍&#xff0c;从网络方…

【每日一题】LeetCode——反转链表

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有…

MySQL ——group by子句使用with rollup

group by 子句使用with rollup关键字之后&#xff0c;具有分组加和的功能。即&#xff1a;在所有的分组记录之后&#xff0c;自动新增一条记录&#xff0c;从全局计算所有记录的数据。 0 问题描述 求出每年的学生平均成绩&#xff0c;及历史至今的平均成绩&#xff0c;结果保留…

c++二叉树寒假特训题目(2)

hello&#xff0c;我是Joseph&#xff0c;今天推出第二期c二叉树寒假特训题目。 第一期传送门 第一期答案传送门 这期有7题&#xff0c;目录如下。 目录 题目 二叉树结点查找 二叉树是否对称 ​编辑 二叉排序树 层次遍历 根据前序中序求后序 二叉树高度 ​编辑 二…

【机器学习】合成少数过采样技术 (SMOTE)处理不平衡数据(附代码)

1、简介 不平衡数据集是机器学习和人工智能中普遍存在的挑战。当一个类别中的样本数量明显超过另一类别时&#xff0c;机器学习模型往往会偏向大多数类别&#xff0c;从而导致性能不佳。 合成少数过采样技术 (SMOTE) 已成为解决数据不平衡问题的强大且广泛采用的解决方案。 …

核心篇-OSPF技术之序(上)

文章目录 一. 实验专题1.1. 实验1&#xff1a;配置单区域OSPF1.1.1. 实验目的1.1.2. 实验拓扑1.1.3. 实验步骤&#xff08;1&#xff09;配置地址&#xff08;2&#xff09;运行OSPF 1.1.4. 实验调试&#xff08;1&#xff09;查看接口信息&#xff08;2&#xff09;查看邻居状…

基于华为云欧拉操作系统(HCE OS)单节点容器化部署(Prometheus、node-exporter、Grafana)应用性能监控平台

写在前面 博文内容为 华为云欧拉操作系统入门级开发者认证(HCCDA – Huawei Cloud EulerOS)实验笔记整理认证地址&#xff1a;https://edu.huaweicloud.com/certificationindex/developer/9bf91efb086a448ab4331a2f53a4d3a1内容涉及&#xff0c;HCE OS 容器化部署(Prometheus、…

Java_栈_队列

文章目录 一、栈&#xff08;Stack&#xff09;1.概念2.栈的使用3.栈的模拟实现1、定义接口2、定义栈3、成员4、构造方法5、判断空间是否满 full6、入栈 push7、出栈 pop8、获取栈顶元素 peek9、获取栈中有效元素个数 size10、检测栈是否为空 empty完整代码 4.练习1、有效括号2…

【更新】cyのMemo(20240209~)

序言 除夕&#xff0c;年夜饭回来后特别累&#xff08;赶早&#xff0c;下午又一路十公里跑回老家&#xff09;&#xff0c;把明天要看的东西准备好&#xff0c;然后糊完手头的日记本最后一页&#xff08;糊了一堆“烦”字&#xff09;&#xff0c;准备封存起来&#xff0c;找…