【Vue3】第三篇
Vue3学习第三篇
- 01. 组件组成
- 02. 组件嵌套关系
- 03. 组件注册方式
- 04. 组件传递数据Props
- 05. 组件传递多种数据类型
- 06. 组件传递Props校验
- 07. 组件事件
- 08. 组件事件配合v-model使用
- 09. 组件数据传递
- 10. 透传Attributes
01. 组件组成
在vue当中,组件是最重要的知识,因为在vue当中是组件化开发,也就是说,所有的内容都是由组件所组成的。
比如,我们写一个项目,这个项目有很多功能,每个功能都是由一个完整的组件去实现的,把这些功能或者说这些组件拼在一起就形成了一个完整的项目。
组件最大的优势就是可复用性
意思就是我们把一个功能抽离成一个组件之后,这个功能就可以被多次引用。
当使用构建步骤时,我们一般会将Vue组件定义在一个单独的
.vue文件中,这被叫做单文件组件(简称SFC)

template标签:承载所有的html标签
script标签:承载所有的业务逻辑
style标签:承载所有的样式
所以,一个vue的组件就承载了所有的我们页面所要呈现的内容,包含结构的html、逻辑的js、样式的css。
下面我们来看组件是如何使用的:


注意:scoped
如果不加它,则样式全局可用。
02. 组件嵌套关系

下面我们来实操完成页面:
(1)Header:


以此类推Main和Aside
(2)Main:


(3)Aside:


03. 组件注册方式
一个Vue组件在使用前需要先被“注册”,这样Vue才能在渲染模板时找到其对应的实现。
组件注册有两种方式:全局注册和局部注册。
我们平常所使用的就是局部注册。(引入)
(1)全局注册

以Header为例:
在main.js中通过app.component注入。括号内:
第一个,为它起的名(日后我们要引用的名字)
第二个,它的名字
全局注册则不需要在App.vue内import(引入)以及不需要components(注入),只需要显示即可。(引入和注入在main.js内)



(2)局部注册

04. 组件传递数据Props

(1)普通Props父传子
在parent组件中,在child 展示 的标签内传递给child数据
child用Props接收:
结果:
(2)动态传递数据
我们上面parent传递给child的数据是写死的,其实我们可以动态传递数据。
注意:

05. 组件传递多种数据类型



06. 组件传递Props校验
(1)校验
vue组件可以对传递过来的数据类型校验
也可以是数组包括很多类型 传递过来的数据类型满足其中一个即可
(2)默认值
用default设置默认值0:
传递则显示20,不传则显示默认值0(传的话,有:age="age")
注意:
其实就是通过函数来增加默认值 返回。
(3)必选项
(必须传递数据)
不传递数据则报警告。
注意:

props是只读的,不允许修改父元素传递过来的数据(但可以修改自己data内的数据)
07. 组件事件
先前我们已经讲过事件处理(给页面中的元素添加事件,如按钮的点击事件)。
今天我们就来学习组件事件(给组件本身添加事件,目的是用来做组件之间的数据传递的)
注意:在老版本中称为自定义事件

props只能父传子,而自定义事件则可以实现子传父


也可以写在页面上:


child组件也可以如下:


08. 组件事件配合v-model使用
前面我们学过,v-model是表单中使用的一个指令,在input标签或者其他标签内用,在用户输入的同时来获取用户所输入的信息。
那么在组件中呢,则是:
在组件A中输入数据,在组件B中实时得到数据。
下面是两个组件,Main和Search。

我们希望在Search组件的表单内输入数据,Main组件中获取数据(一边展示搜索框的内容)
要怎么做到呢?答:结合自定义事件和侦听器两者来实现。


09. 组件数据传递

先前我们并没有传递函数,而函数是可以互相携带参数的,所以我们可以利用这个细节来实现子传父

实际上还是A给B传,只不过在传递的时候B给A回了个参数
(实际上还是调用A中的函数执行)


10. 透传Attributes
不常用。了解即可。



相当于h3里面具有了attr-container的样式。
还有个知识点:


把inheritAttrs设为false,这样则其不生效。
相关文章:
【Vue3】第三篇
Vue3学习第三篇 01. 组件组成02. 组件嵌套关系03. 组件注册方式04. 组件传递数据Props05. 组件传递多种数据类型06. 组件传递Props校验07. 组件事件08. 组件事件配合v-model使用09. 组件数据传递10. 透传Attributes 01. 组件组成 在vue当中,组件是最重要的知识&…...
c++二级指针
如果要通过函数改变一个指针的值,要往函数中传入指针的指针 如果要通过函数改变一个变量的值,那就要往函数中传入这个变量的地址 改变a的值和b的值 #include <iostream>using namespace std;void swap(int* a, int* b) {int temp *a;*a *b;*b …...
客户端存储 — IndexedDB 实现分页查询
前言 相信 IndexedDB 大家都有过了解,但是不一定每个人都有过实践,并且其中涉及到事务、游标等概念,会导致在初次使用时会有些不适应,那么本文会通过 IndexedDB 实现分页查询的形式进行实践,在开始之前,可…...
logback 如何将日志输出到文件
如何作 将日志输出到文件需要使用 RollingFileAppender,该 Appender 必须定义 rollingPolicy ,另外 rollingPollicy 下必须定义 fileNamePattern 和 encoder <appender name"fileAppender" class"ch.qos.logback.core.rolling.Rollin…...
Files.newBufferedReader和Files.readAllLines
在Java中,Files.newBufferedReader 和 Files.readAllLines 都是用于从文件中读取数据的工具方法,但它们的使用场景和功能有所不同。下面我将详细解释这两个方法的含义、用途、区别、优缺点以及各自的使用场景。 1. Files.newBufferedReader 含义和用途…...
MySQL 数据库备份与恢复全攻略
MySQL 数据库备份与恢复全攻略 引言 在现代应用中,数据库是核心组件之一。无论是个人项目还是企业级应用,数据的安全性和完整性都至关重要。为了防止数据丢失、损坏或意外删除,定期备份数据库是必不可少的。本文将详细介绍 MySQL 数据库的备…...
Appium中的api(一)
目录 1.基础python代码准备 1--参数的一些说明 2--python内所要编写的代码 解释 2.如何获取包名和界面名 1-api 2-完整代码 代码解释 3.如何关闭驱动连接 4.安装卸载app 1--卸载 2--安装 5.判断app是否安装 6.将应用放到后台在切换为前台的时间 7.UIAutomatorViewer的使用 1--找…...
【AI辅助设计】没错!训练FLUX LoRA就这么简单!
前言 得益于开源社区的力量,在各位大佬的努力下,现在16G VRAM的家用电脑也可以训练FLUX的LoRA了 👏。 今天我使用fluxgym这个方法,训练LoRA,并记录过程。 篇幅有限,这里就不一一展示了,有需要的…...
Mac 下安装FastDFS
首先我们需要下载相对应的安装包: libfastcommonFastDFS 下载完成后我们先将其解压到桌面。 1.安装libfastcommon 我们进入到libfastcommon-master目录中执行./make.sh和sudo ./make.sh install,具体代码如下: 2.安装FastDFS 同安装libfa…...
人工智能的未来:重塑生活与工作的变革者
随着人工智能(AI)技术的快速发展,我们正处于一个前所未有的变革时代。AI不仅在医疗、企业运营和日常生活中发挥着重要作用,而且正在重新定义我们的生活和工作方式。本文将探讨人工智能技术的应用前景以及它如何改变我们的生活和工…...
【微服务】Java 对接飞书多维表格使用详解
目录 一、前言 二、前置操作 2.1 开通企业飞书账户 2.2 确保账户具备多维表操作权限 2.3 创建一张测试用的多维表 2.4 获取飞书开放平台文档 2.5 获取Java SDK 三、应用App相关操作 3.1 创建应用过程 3.2 应用发布过程 3.3 应用添加操作权限 四、多维表应用授权操作…...
学习threejs,使用粒子实现下雪特效
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.Points简介1.11 ☘️…...
unity3d——Time
在Unity3D中,Time类是一个非常重要的工具类,它提供了一系列与时间相关的属性和方法,帮助开发者在游戏中实现各种时间相关的操作。以下是一些Time类常用的方法及其示例: 一、常用属性 Time.time 含义:表示从游戏开始到…...
天地图实现海量聚合marker--uniapp后端详细实现
本文章详细的讲解了前后端代码来 实现uniapp天地图功能的实现 以及 后端海量数据的聚合查询 和网格算法实现思路。 并对当数据量增加和用户频繁请求接口时可能导致服务器负载过高做了前后端优化。 前端uniapp: 实现了天地图的行政区划边界/地图切换/比例尺/海量数…...
Bug | 项目中数据库查询问题
问题描述 理论上,点击查询后,表头应当显示中文。而不是上面的在数据库中的表头【如上图示】 正常点击查询后,如果没有输入值,应当是查询所有的信息。 原因分析: 这里是直接使用SELECT * 导致的。例如: S…...
C++入门基础知识129—【关于C 库函数 - time()】
成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C 库函数 - time()的相关内容࿰…...
大文件秒传,分片上传,断点续传
大文件分片上传 一 功能描述 1.文件通过web端分片多线程上传到服务端,然后web端发起分片合并,完成大文件分片上传功能 2.上传过的大文件,实现秒传 3.上传过程中,服务异常退出,实现断点续传 二 流程图 三 代码运行…...
多生境扩增子探秘:深度溯源与多样性解析
分析微生物组数据的组成结构的一个主要挑战是确定其潜在来源。在微生物来源分析中,随机森林、SourceTracker和FEAST都有较广泛应用。今天,小编就带大家看一篇发表在《iMeta》的文章,使用溯源技术追踪微生物的来源与去向,揭示生物在…...
Selenium4自动化测试常用函数总结,各种场景操作实战
🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 seleninum作为自动化测试的工具,自然是提供了很多自动化操作的函数,下面列举下比较常用的函数,更多可见官方文档:…...
图像生成新范式:智源推出全能视觉生成模型 OmniGen
大型语言模型(LLM)的出现统一了语言生成任务,并彻底改变了人机交互。然而,在图像生成领域,能够在单一框架内处理各种任务的统一模型在很大程度上仍未得到探索。近日,智源推出了新的扩散模型架构 OmniGen&am…...
Firefly开源中文大模型:指令微调、部署与领域适配实战
1. 项目概述:一个专为中文优化的开源大语言模型最近在开源社区里,Firefly(流萤)这个项目引起了我的注意。它不是一个通用框架,而是一个经过精心指令微调的大语言模型系列。简单来说,你可以把它理解为一个“…...
告别模拟开关:用TLC7528双DAC为你的STM32项目扩展模拟输出通道
告别模拟开关:用TLC7528双DAC为你的STM32项目扩展模拟输出通道 在嵌入式系统开发中,模拟信号输出是许多控制系统的核心需求。无论是精密仪器、工业自动化还是音频处理,都需要稳定可靠的模拟输出通道。然而,大多数STM32微控制器内置…...
如何轻松完成ESP8266固件烧录:NodeMCU PyFlasher图形化工具详解
如何轻松完成ESP8266固件烧录:NodeMCU PyFlasher图形化工具详解 【免费下载链接】nodemcu-pyflasher Self-contained NodeMCU flasher with GUI based on esptool.py and wxPython. 项目地址: https://gitcode.com/gh_mirrors/no/nodemcu-pyflasher NodeMCU …...
基于RAG与LangChain的AI阅读助手BookWith架构与实现
1. 项目概述:当AI成为你的阅读伙伴作为一名深度阅读爱好者和技术实践者,我一直在寻找一种能真正“理解”内容,并与我进行深度对话的阅读工具。传统的电子书阅读器,无论是Kindle还是其他应用,本质上都只是将纸质书数字化…...
zclean:开发者必备的自动化磁盘清理工具,释放宝贵存储空间
1. 项目概述与核心价值最近在整理自己的开发环境时,又遇到了那个老生常谈的问题:系统用久了,各种临时文件、缓存、残留的依赖包,把磁盘空间一点点蚕食殆尽。特别是对于开发者而言,项目依赖、构建产物、Docker镜像、各种…...
Pega Helm Charts:Kubernetes上企业级低代码BPM平台部署指南
1. 项目概述:Pega Helm Charts 是什么,以及为什么你需要它如果你正在或计划在 Kubernetes 上部署 Pega Platform,那么pegasystems/pega-helm-charts这个项目就是你绕不开的“官方说明书”和“自动化部署工具箱”。简单来说,这是一…...
机电一体化系统设计的核心挑战与跨学科协同
1. 机电一体化系统设计的核心挑战与机遇十年前我第一次参与工业机器人控制系统开发时,机械团队和电气团队还在用纸质图纸传递设计变更。某个周五下午的机械结构改动,直到下周一才通知到电气组,导致整个控制柜布局需要返工。这种割裂的开发模式…...
AI写测试靠谱吗?深度体验Diffblue Cover后,我总结了这3个真实使用场景和2个坑
AI写测试靠谱吗?深度体验Diffblue Cover后的实战思考 第一次在IntelliJ的插件市场看到Diffblue Cover时,我的反应和大多数Java开发者一样——"这玩意儿真能自动写测试?"作为在金融行业摸爬滚打八年的老码农,我见过太多号…...
为什么92%的AI团队Serverless化失败?奇点大会披露的4个反直觉架构断点与实时熔断方案
更多请点击: https://intelliparadigm.com 第一章:AI原生Serverless实践:2026奇点智能技术大会无服务器架构 在2026奇点智能技术大会上,AI原生Serverless成为核心范式——它不再将模型推理简单托管于函数即服务(FaaS&…...
LiteLoaderQQNT插件加载器:从简单加载到企业级插件生态的完整进化指南
LiteLoaderQQNT插件加载器:从简单加载到企业级插件生态的完整进化指南 【免费下载链接】LiteLoaderQQNT QQNT 插件加载器:LiteLoaderQQNT —— 轻量 简洁 开源 福瑞 项目地址: https://gitcode.com/gh_mirrors/li/LiteLoaderQQNT LiteLoaderQQ…...













