当前位置: 首页 > news >正文

【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.vueimport(引入)以及不需要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++二级指针

如果要通过函数改变一个指针的值&#xff0c;要往函数中传入指针的指针 如果要通过函数改变一个变量的值&#xff0c;那就要往函数中传入这个变量的地址 改变a的值和b的值 #include <iostream>using namespace std;void swap(int* a, int* b) {int temp *a;*a *b;*b …...

客户端存储 — IndexedDB 实现分页查询

前言 相信 IndexedDB 大家都有过了解&#xff0c;但是不一定每个人都有过实践&#xff0c;并且其中涉及到事务、游标等概念&#xff0c;会导致在初次使用时会有些不适应&#xff0c;那么本文会通过 IndexedDB 实现分页查询的形式进行实践&#xff0c;在开始之前&#xff0c;可…...

logback 如何将日志输出到文件

如何作 将日志输出到文件需要使用 RollingFileAppender&#xff0c;该 Appender 必须定义 rollingPolicy &#xff0c;另外 rollingPollicy 下必须定义 fileNamePattern 和 encoder <appender name"fileAppender" class"ch.qos.logback.core.rolling.Rollin…...

Files.newBufferedReader和Files.readAllLines

在Java中&#xff0c;Files.newBufferedReader 和 Files.readAllLines 都是用于从文件中读取数据的工具方法&#xff0c;但它们的使用场景和功能有所不同。下面我将详细解释这两个方法的含义、用途、区别、优缺点以及各自的使用场景。 1. Files.newBufferedReader 含义和用途…...

MySQL 数据库备份与恢复全攻略

MySQL 数据库备份与恢复全攻略 引言 在现代应用中&#xff0c;数据库是核心组件之一。无论是个人项目还是企业级应用&#xff0c;数据的安全性和完整性都至关重要。为了防止数据丢失、损坏或意外删除&#xff0c;定期备份数据库是必不可少的。本文将详细介绍 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就这么简单!

前言 得益于开源社区的力量&#xff0c;在各位大佬的努力下&#xff0c;现在16G VRAM的家用电脑也可以训练FLUX的LoRA了 &#x1f44f;。 今天我使用fluxgym这个方法&#xff0c;训练LoRA&#xff0c;并记录过程。 篇幅有限&#xff0c;这里就不一一展示了&#xff0c;有需要的…...

Mac 下安装FastDFS

首先我们需要下载相对应的安装包&#xff1a; libfastcommonFastDFS 下载完成后我们先将其解压到桌面。 1.安装libfastcommon 我们进入到libfastcommon-master目录中执行./make.sh和sudo ./make.sh install&#xff0c;具体代码如下&#xff1a; 2.安装FastDFS 同安装libfa…...

人工智能的未来:重塑生活与工作的变革者

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;我们正处于一个前所未有的变革时代。AI不仅在医疗、企业运营和日常生活中发挥着重要作用&#xff0c;而且正在重新定义我们的生活和工作方式。本文将探讨人工智能技术的应用前景以及它如何改变我们的生活和工…...

【微服务】Java 对接飞书多维表格使用详解

目录 一、前言 二、前置操作 2.1 开通企业飞书账户 2.2 确保账户具备多维表操作权限 2.3 创建一张测试用的多维表 2.4 获取飞书开放平台文档 2.5 获取Java SDK 三、应用App相关操作 3.1 创建应用过程 3.2 应用发布过程 3.3 应用添加操作权限 四、多维表应用授权操作…...

学习threejs,使用粒子实现下雪特效

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.Points简介1.11 ☘️…...

unity3d——Time

在Unity3D中&#xff0c;Time类是一个非常重要的工具类&#xff0c;它提供了一系列与时间相关的属性和方法&#xff0c;帮助开发者在游戏中实现各种时间相关的操作。以下是一些Time类常用的方法及其示例&#xff1a; 一、常用属性 Time.time 含义&#xff1a;表示从游戏开始到…...

天地图实现海量聚合marker--uniapp后端详细实现

本文章详细的讲解了前后端代码来 实现uniapp天地图功能的实现 以及 后端海量数据的聚合查询 和网格算法实现思路。 并对当数据量增加和用户频繁请求接口时可能导致服务器负载过高做了前后端优化。 前端uniapp&#xff1a; 实现了天地图的行政区划边界/地图切换/比例尺/海量数…...

Bug | 项目中数据库查询问题

问题描述 理论上&#xff0c;点击查询后&#xff0c;表头应当显示中文。而不是上面的在数据库中的表头【如上图示】 正常点击查询后&#xff0c;如果没有输入值&#xff0c;应当是查询所有的信息。 原因分析&#xff1a; 这里是直接使用SELECT * 导致的。例如&#xff1a; S…...

C++入门基础知识129—【关于C 库函数 - time()】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C 库函数 - time()的相关内容&#xff0…...

大文件秒传,分片上传,断点续传

大文件分片上传 一 功能描述 1.文件通过web端分片多线程上传到服务端&#xff0c;然后web端发起分片合并&#xff0c;完成大文件分片上传功能 2.上传过的大文件&#xff0c;实现秒传 3.上传过程中&#xff0c;服务异常退出&#xff0c;实现断点续传 二 流程图 三 代码运行…...

多生境扩增子探秘:深度溯源与多样性解析

分析微生物组数据的组成结构的一个主要挑战是确定其潜在来源。在微生物来源分析中&#xff0c;随机森林、SourceTracker和FEAST都有较广泛应用。今天&#xff0c;小编就带大家看一篇发表在《iMeta》的文章&#xff0c;使用溯源技术追踪微生物的来源与去向&#xff0c;揭示生物在…...

Selenium4自动化测试常用函数总结,各种场景操作实战

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 seleninum作为自动化测试的工具&#xff0c;自然是提供了很多自动化操作的函数&#xff0c;下面列举下比较常用的函数&#xff0c;更多可见官方文档&#xff1a;…...

图像生成新范式:智源推出全能视觉生成模型 OmniGen

大型语言模型&#xff08;LLM&#xff09;的出现统一了语言生成任务&#xff0c;并彻底改变了人机交互。然而&#xff0c;在图像生成领域&#xff0c;能够在单一框架内处理各种任务的统一模型在很大程度上仍未得到探索。近日&#xff0c;智源推出了新的扩散模型架构 OmniGen&am…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了 免费认证课程&#xff08;限时至2025/5/15&#xff09; Oracle AI Vector Search 1Z0-184-25考试&#xff0c;都顺利拿到certified了没。 各行各业的AI 大模型的到来&#xff0c;传统的数据库中的SQL还能不能打&#xff0c;结构化和非结构的话数据如何和…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor

1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...