《vue3学习手记3》
标签的ref属性
vue3和vue2中的ref属性:
用在普通DOM标签上,获取的是DOM节点
ref用在组件标签上,获取的是组件实例对象
区别在于:
1.vue3中person子组件中的数据父组件App不能直接使用,需要引入并使用defineExpose才可以;
vue2中person子组件中的数据父组件App可直接使用。
2.vue2中获取节点:
<h2 ref="title">重庆</h2>
this.$refs.title
vue2中获取组件实例对象:
<Person ref="per"/>
this.$refs.per
3.vue3中的获取语法见以下代码:
<template><div class="app"><h2>大理</h2><h2 ref="title">重庆</h2><h2>大西北</h2><button @click="getDOM">点我获取节点</button></div>
</template><script lang="ts" setup name="Person">//知识点:标签的ref属性 用于获取DOM元素或者组件实例对象时使用// 要求一:获取重庆这条信息的DOM节点import { ref,defineExpose } from "vue"let title=ref()function getDOM(){console.log(title.value)}// 要求二:获取组件实例对象(代码见App组件)// 要求三:在person组件里添加一些数据// 解析:在vue3中,person组件中的数据App组件如果想要使用需要引入并使用defineExpose才可以。(defineExpose也可以不引用,直接使用)let a= ref(0)let b= ref(1)let c= ref(2)defineExpose({a,b,c}) //这样父组件就获取到了person里的数据
</script>
App.vue组件
<template><Person ref="per"/><button @click="getPerson">点我获取person组件实例</button>
</template><script lang="ts" setup name="App">import Person from "./components/Person.vue" // 只需引入,不用注册组件,vue3引入之后会自动注册import {ref} from "vue"// 要求二:获取组件实例对象let per=ref()function getPerson(){console.log(per.value)}
</script>
TS接口、泛型、自定义类型
**作用:**提升代码的可靠性、可维护性和开发效率
<template><div class="app"><h2>{{ person.name }}</h2><h2>{{ personlist[1].name }}</h2></div>
</template><script lang="ts" setup name="Person">
import {type personInter,type persons} from "../types"
// TS的接口、泛型、自定义类型 // 作用:给代码设置一定的约束,防止出错// 知识点一:TS的接口
// ====================================================================//要求一:给person对象设置一定的约束//首先创建types文件夹,定义接口 let person:personInter={id:"asycs01",name:"李华",age:18}// 这样使用接口之后,如果打错单词或者属性类型会给提示// ====================================================================// 知识点二:TS的泛型 <>//要求二:给personlist数组设置一定的约束let personlist:Array<personInter>=[{id:"asycs01",name:"李华",age:18},{id:"asycs02",name:"小明",age:20},{id:"asycs03",name:"小红",age:21}]// ====================================================================// 知识点三:TS的自定义类型 <>//要求三:基于要求二的高级写法(见index.ts)let personlist1:persons=[{id:"asycs01",name:"李华",age:18},{id:"asycs02",name:"小明",age:20},{id:"asycs03",name:"小红",age:21}]
// ====================================================================// 知识点四:需要使用reactive时的写法://要求四:要将数组中的数据变为响应式的数据let personlist2=reactive<persons>([{id:"asycs01",name:"李华",age:18},{id:"asycs02",name:"小明",age:20},{id:"asycs03",name:"小红",age:21}])
</script>
types/index.ts:
// 定义接口
export interface personInter{id:string,name:string,age:number,gender?:string //当想要给某一个对象添加性别时这样写,但如果写成gender:string就要给每一个属性都添加gender
}
// export type persons=Array<personInter>
export type persons=personInter[]
父亲给儿子传递参数
App.vue
<template><Person :personList="personList"/>
</template><script lang="ts" setup name="App">import Person from "./components/Person.vue"// 只需引入,不用注册组件,vue3引入之后会自动注册import {type persons} from "./types"import {reactive} from "vue"let personList=reactive<persons>([{id:"asycs01",name:"李华",age:18},{id:"asycs02",name:"小明",age:20},{id:"asycs03",name:"小红",age:21}])</script>
Person.vue
<template><div class="app"><ul><li v-for="item in personList" :key="item.id">{{ item.name }}</li></ul></div>
</template><script lang="ts" setup name="Person">
import {type persons} from "../types"
import { withDefaults } from "vue";
// ===========================================================
//知识点一:defineProps 接收数据// 要求一:将App中的数据传递给Person// defineProps(["personList"])// ===========================================================//知识点二:defineProps 接收数据并限制接收数据的类型// defineProps<{personList:persons}>() // {}中第一个参数是接收的对象,第二个参数是接口规范// ===========================================================//知识点三:defineProps 接收数据并限制接收数据的类型并限制必要性// defineProps<{personList?:persons}>() // ===========================================================//知识点三:defineProps 接收数据并限制接收数据的类型并限制必要性withDefaults(defineProps<{personList?:persons}>(),{personList:()=>[{id:"asycs01",name:"李华",age:18},{id:"asycs02",name:"小明",age:20}]})
</script>
相关文章:
《vue3学习手记3》
标签的ref属性 vue3和vue2中的ref属性: 用在普通DOM标签上,获取的是DOM节点 ref用在组件标签上,获取的是组件实例对象 区别在于: 1.vue3中person子组件中的数据父组件App不能直接使用,需要引入并使用defineExpose才可…...
【Vue】从 MVC 到 MVVM:前端架构演变与 Vue 的实践之路
个人博客:haichenyi.com。感谢关注 一. 目录 一–目录二–架构模式的演变背景三–MVC:经典的分层起点四–MVP:面向接口的解耦尝试五–MVVM:数据驱动的终极形态六–Vue:MVVM 的现代化实践 二. 架构模…...
Docker Compose 命令实现动态构建和部署
Docker Compose 命令实现动态构建和部署 一、编写支持动态版本号的 docker-compose.yml version: 3.8services:myapp:build: context: . # Dockerfile所在目录args:APP_VERSION: ${TAG:-latest} # 从环境变量获取版本号,默认latestimage: myapp:${TAG:-latest} …...
工厂模式实现案例
场景一:配置文件解析(工厂模式实现) 1. 定义解析器接口与具体实现 from abc import ABC, abstractmethod import json import yaml # 需要安装PyYAML库:pip install pyyamlclass ConfigParser(ABC):"""配置文件解…...
Vue3.5 企业级管理系统实战(十五):其他全局设置项
在设置面板中,除了主题颜色的选择设置,还可以添加其他全局配置选项,如 tagsView 导航栏,Logo 的显示隐藏配置等。 1 Settings 的 Pinia 配置 在 src/stores/settings.ts 中添加要持久存储的全局配置项,这里是 tagsVi…...
L2-052 吉利矩阵分
L2-052 吉利矩阵 - 团体程序设计天梯赛-练习集 所有元素为非负整数,且各行各列的元素和都等于 7 的 33 方阵称为“吉利矩阵”,因为这样的矩阵一共有 666 种。 本题就请你统计一下,把 7 换成任何一个 [2,9] 区间内的正整数 L,把矩…...
408 计算机网络 知识点记忆(9)
前言 本文基于王道考研课程与湖科大计算机网络课程教学内容,系统梳理核心知识记忆点和框架,既为个人复习沉淀思考,亦希望能与同行者互助共进。(PS:后续将持续迭代优化细节) 往期内容 408 计算机网络 知识…...
矩阵基础+矩阵转置+矩阵乘法+行列式与逆矩阵
GPU渲染过程 矩阵 什么是矩阵(Matrix) 向量 (3,9,88) 点乘:计算向量夹角 叉乘:计算两个向量构成平面的法向量。 矩阵 矩阵有3行,2列,所以表示为M32 获取固…...
如何在 .NET 环境中使用 Npgsql 驱动连接 KaiwuDB
在现代软件开发中,数据库连接和操作是任何应用程序的核心部分。本文将介绍如何在 .NET 环境下,使用 Npgsql 驱动连接 KaiwuDB,并执行基本的数据库操作,包括创建表、插入数据和查询操作。我们假设您已经安装并配置好了 KaiwuDB 数据…...
【代理错误 django】Request error: HTTPSConnectionPool(host=‘‘, port=443): 、
❗问题 ❶:仍然是代理错误(ProxyError) 错误日志: Request error: HTTPSConnectionPool(hostxueshu.baidu.com, port443): Max retries exceeded ... Caused by ProxyError(Unable to connect to proxy, FileNotFoundError(2, N…...
5.9 《GPT-4调试+测试金字塔:构建高可靠系统的5大实战策略》
5.4 测试与调试:构建企业级质量的保障体系 关键词:测试金字塔模型、GPT-4调试助手、LangChain调试模式、异步任务验证 测试策略设计(测试金字塔实践) #mermaid-svg-RblGbJVMnCIShiCW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill…...
Maven 多仓库和多镜像配置
Maven是一个流行的Java项目构建和管理工具。在Maven中,我们可以配置多个仓库源来下载和管理依赖项。同时,我们还可以使用repositories和mirrors进行配置,以满足特定的需求。 首先,让我们了解一下repositories和mirrors的作用。在M…...
案例驱动的 IT 团队管理:创新与突破之路:第五章 创新管理:从机制设计到文化养成-5.1 创新激励体系-5.1.3失败案例的价值转化机制
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 失败案例的价值转化机制:IT团队创新管理中的"黑天鹅"炼金术1. 认知重构:重新定义失败的价值1.1 传统失败管理的困境1.2 失败价值转化模型 …...
华为纯血 卓易通 使用记录
(1)我们在测试华为纯血的时候,发现了,使用咱们的基站上的wifi, wifi与手机终端是互相ping 通的, 手机可以发信号到基站,但基站收到信号后,也发出信号 ,但信号 不能到达手机。 这个是…...
计算机网络中科大 - 第7章 网络安全(详细解析)-以及案例
目录 🛡️ 第8章:网络安全(Network Security)优化整合笔记📌 本章学习目标 一、网络安全概念二、加密技术(Encryption)1. 对称加密(Symmetric Key)2. 公钥加密࿰…...
初识Redis · set和zset
目录 前言: set 基本命令 交集并集差集 内部编码和应用场景 zset 基本命令 交集并集差集 内部编码和应用场景 应用场景(AI生成) 排行榜系统 应用背景 设计思路 热榜系统 应用背景 设计思路 热度计算方式 总结对比表 前言&a…...
Prometheus+Grafana+K8s构建监控告警系统
一、技术介绍 Prometheus、Grafana及K8S服务发现详解 Prometheus简介 Prometheus是一个开源的监控系统和时间序列数据库,最初由SoundCloud开发,现已成为CNCF(云原生计算基金会)的毕业项目。它专注于实时监控和告警,特别适合云原生和分布式…...
用 AI + 前端实现一个简易产品图生成器:上传商品标题 → 多场景展示图自动生成
文章目录 一、项目背景与功能概述核心功能: 二、技术选型与环境准备安装依赖与 API Key 配置 三、核心功能模块实现1. 商品图生成器核心逻辑2. 组件模板与 UI 结构 四、功能拓展与优化建议(附代码思路)✅ 1. 本地历史记录可视化✅ 3. 支持图片…...
实现高效灵活的模糊搜索:JavaScript中的多条件过滤实践
现代Web应用中,数据搜索功能是用户体验的关键部分。本文将深入探讨如何实现一个高效灵活的模糊搜索函数,支持多条件组合查询、精确匹配、模糊匹配以及时间范围筛选。 需求分析 我们需要一个通用的搜索函数,能够处理以下场景: 多…...
ChatterBot的JupyterLab实践指南,从零开始构建AI聊天机器人
从手机上的语音助手到电商平台的客服机器人,这些能理解人类语言的程序背后,都离不开自然语言处理(NLP)技术的支撑。本文将以JupyterLab为实验平台,带您亲手打造一个会对话的AI机器人。通过这个项目,您不仅能…...
《深度学习》课程之卷积神经网络原理与实践教学设计方案
《深度学习》课程之卷积神经网络原理与实践教学设计方案 一、教学目标设计 (一)知识目标 学生能够准确描述卷积神经网络(CNN)的基本定义,包括其核心组成部分(如卷积层、池化层、全连接层等)及…...
快手OneRec 重构推荐系统:从检索排序到生成统一的跃迁
文章目录 1. 背景2. 方法2.1 OneRec框架2.2 Preliminary2.3 生成会话列表2.4 利用奖励模型进行迭代偏好对齐2.4.1 训练奖励模型2.4.2 迭代偏好对齐 3. 总结 昨天面试的时候聊到了OneRec,但是由于上次看这篇文章已经是一个月之前,忘得差不多了,…...
算法——直接插入排序
目录 一、直接插入排序的定义 二、直接插入排序的原理 三、直接插入排序的特点 四、代码实现 一、直接插入排序的定义 直接插入排序是一种简单直观的排序算法,其基本思想是将一个元素插入到已经排好序的部分数组中,使得插入后的数组仍然保持有序。具…...
Linux 软件管理
文章目录 dpkg软件包管理工具APT软件包管理工具apt-get命令apt-cache Linux操作系统主要支持RPM和Deb两种软件包管理工具。 RPM(Redhat Package Manager)是一种用于互联网下载包的打包及安装工具。 其原始设计理念是开放的,不仅可以在Redhat平…...
电力实训中应注意以下安全事项
电力实训中应注意以下安全事项: 一、环境准备与设备检查 保持实训场地整洁通风,清除易燃物与杂物,确保操作空间充足。 电路容量需匹配设备功率,安装漏电保护器及空气开关。 非带电金属设备外壳应接地,定期检查线路…...
序列化-流量统计
新建文件夹及文件 编写流量统计的Bean对象 package com.root.mapreduce.writable; import org.apache.hadoop.io.Writable; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; //1 继承Writable接口 public class FlowBean implements Writab…...
矩阵游戏--二分图的匈牙利算法
https://www.luogu.com.cn/problem/P1129 学习路线---https://blog.csdn.net/qq_39304630/article/details/108135381 1.二分图就是两个独立的两个集合,如这里是行和列 2.匈牙利匹配就是媒婆拉媒,没伴侣或者伴侣可以换就将当前的塞给她 3.最后true的…...
spring security解析
Spring Security 中文文档 :: Spring Security Reference 1. 密码存储 最早是明文存储,但是攻击者获得数据库的数据后就能得到用户密码。 于是将密码单向hash后存储,然后攻击者利用彩虹表(算法高级(23)-彩虹表&…...
【技巧】chol分解时,矩阵非正定时的临时补救措施,以MATLAB为例
针对非正定矩阵无法进行标准Cholesky分解的解决方案及MATLAB代码实现,结合不同应用场景的需求分层解析 文章目录 数值修正方法修正Cholesky分解LDL分解 矩阵变换与重构特征值修正乘积法构造正定矩阵 替代分解与降维方法QR分解与SVD主成分分析(PCA&#x…...
Hi3518E官方录像例程源码流程分析(三)
文章目录 第二阶段,初始化第一阶段计算好的参数SAMPLE_COMM_SYS_Init 第三阶段,启动VI和chn捕获SAMPLE_COMM_VI_StartVi()SAMPLE_COMM_VI_StartBT656小阶段1 SAMPLE_COMM_VI_StartMIPI_BT1120()小阶段1 SAM…...
37.Java 异步回调(CompletableFuture 概述、CompletableFuture 使用)
一、CompletableFuture 概述 CompletableFuture 在 Java 里面被用于异步编程,异步通常意味着非阻塞,可以使得任务单独运行在与主线程分离的其他线程中,并且通过回调可以在主线程中得到异步任务的执行状态,是否完成,和是…...
数学建模AI智能体(4.16大更新)
别的不说就说下面这几点,年初内卷到现在,就现阶段AI水平,卷出了我比较满意的作品,这里分享给各位同学,让你们少走弯路: 1.轻松辅导学生 2.帮助学习 3.突破知识壁垒,缩短与大佬的差距 4.打破…...
Python 第三节 流程控制
目录 1.分支结构 条件控制 2.循环语句 3.循环控制语句 4.嵌套循环 控制代码执行的顺序 顺序结构分支结构循环结构 1.分支结构 条件控制 让代码有自主选择的能力, 当满足某个条件的时候执行对应的操作 1.1 if语句 语法格式 if 判断条件:执行语句(当判断条件为真的时候执…...
深入探究Linux编译器gcc/g++:从基础到进阶
目录 一、编译的幕后流程 (一)预处理:宏与文件的魔法融合 (二)编译:代码规范性的严格审视 (三)汇编:迈向机器语言的关键一步 (四)连接&a…...
用户态网络缓冲区
用户态网络缓冲区 缓冲区作用 用于临时存储数据以便高效地进行读写操作。用户态缓冲区位于用户空间中,与内核空间中的缓冲区(内核缓冲区)相对。 用户态接受缓存区 粘包问题,缓存非完整数据包 生产者的速度 > 消费者的速…...
解决Flutter 2.10.5在升级Xcode 16后的各种报错
Flutter 环境 Flutter version 2.10.5Dart version 2.16.2DevTools version 2.9.2CocoaPods version 1.16.2Xcode 16.3 问题一:XCResult parsing error: Error: This command is deprecated and will be removed in a future release, --legacy flag is required t…...
【学习笔记】计算机网络(八)—— 音频/视频服务
第8章 互联网上的音频/视频服务 文章目录 第8章 互联网上的音频/视频服务8.1概述8.2 流式存储音频/视频8.2.1 具有元文件的万维网服务器8.2.2 媒体服务器8.2.3 实时流式协议 RTSP 8.3 交互式音频/视频8.3.1 IP 电话概述8.3.2 IP电话所需要的几种应用协议8.3.3 实时运输协议 RTP…...
OpenCv高阶(三)——图像的直方图、图像直方图的均衡化
目录 一、直方图 1、计算并显示直方图 2、使用matplotlib方法绘制直方图(不划分小的子区间) 3、使用opencv的方法绘制直方图 (划分16个小的子亮度区间) 4、绘制彩色图像的直方图,将各个通道的直方图值都画出来 二、…...
OpenCV 图形API(39)图像滤波----同时计算图像在 X 和 Y 方向上的一阶导数函数SobelXY()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::gapi::SobelXY 函数是 OpenCV 的 G-API 模块中用于同时计算图像在 X 和 Y 方向上的一阶导数(即 Sobel 边缘检测)的一…...
领麦微:电炖锅红外测温传感器应用,告别糊锅干烧
领麦微红外测温传感器在电炖锅中的应用,特别是在应对高温环境、实现精准测温以保留食材营养、有效防止干烧与糊锅现象,以及提供安全烹饪新保障等方面,展现出了其独特的技术优势和应用价值。以下是对这些应用特点的深入剖析: 一、高…...
(Linux操作系统)自定义shell的实现
讲自定义shell之前我们先看一个东西,那就是进程替换,我们想要父进程fork之后的子进程之后运行一个全新的程序那该怎么办呢? 这里就要用一个叫做进程替换的一个东西了,程序替换是通过特定的接⼝,加载磁盘上的⼀个全新的…...
安卓jks提取pem和pk8文件
你需要安装: Java Keytool OpenSSL 系统要求:Mac/Linux/Windows 都可以。 keytool -importkeystore -srckeystore holder-keystore.jks -destkeystore holder-keystore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass yzhafzKPj4 -dest…...
人脸检测-人脸关键点-人脸识别-人脸打卡-haar-hog-cnn-ssd-mtcnn-lbph-eigenface-resnet
链接:https://pan.baidu.com/s/1VhGdyIW5GWuTNkfbCEc5eA?pwdz0eo 提取码:z0eo --来自百度网盘超级会员V2的分享 创建环境 conda create -n 环境名称python3.8 conda activate 环境名称 然后配置环境 pip install requirements.txt 运行程序&…...
Gobuster :dir、dns、vhost
Gobuster 及其相关技术知识必须用于法律明确允许的场景!!! 1. dir 模式:目录/文件枚举 用途:扫描目标网站的目录和文件,常用于发现隐藏资源或敏感文件。 关键参数: -u URL&am…...
Vue+Threejs项目性能优化
使用Vue和Three.js开发的项目,但运行一段时间后电脑内存就满了,导致性能下降甚至崩溃,分析内存泄漏的原因优化如下: 资源释放管理 手动释放Three.js资源: 在Vue组件的beforeDestroy或destroyed生命周期中࿰…...
Leetcode - 双周赛135
目录 一、3512. 使数组和能被 K 整除的最少操作次数二、3513. 不同 XOR 三元组的数目 I三、3514. 不同 XOR 三元组的数目 II四、3515. 带权树中的最短路径 一、3512. 使数组和能被 K 整除的最少操作次数 题目链接 本题实际上求的就是数组 nums 和的余数,代码如下&…...
[特殊字符] PostgreSQL MCP 开发指南
简介 🚀 PostgreSQL MCP 是一个基于 FastMCP 框架的 PostgreSQL 数据库交互服务。它提供了一套简单易用的工具函数,让你能够通过 API 方式与 PostgreSQL 数据库进行交互。 功能特点 ✨ 🔄 数据库连接管理与重试机制🔍 执行 SQL…...
等离子体浸没离子注入(PIII)
一、PIII 是什么?基本原理和工艺 想象一下,你有一块金属或者硅片(就是做芯片的那种材料),你想给它的表面“升级”,让它变得更硬、更耐磨,或者有其他特殊功能。怎么做呢?PIII 就像是用…...
TinyEngine 2.4版本正式发布:文档全面开源,实现主题自定义,体验焕新升级!
本文由体验技术团队李璇原创。 前言 TinyEngine低代码引擎使开发者能够定制低代码平台。它是低代码平台的底座,提供可视化搭建页面等基础能力,既可以通过线上搭配组合,也可以通过cli创建个人工程进行二次开发,实时定制出自己的低…...
gemini讲USRP
您好!USRP (Universal Software Radio Peripheral) 是一种软件无线电 (SDR) 设备系列,由 Ettus Research (现为 National Instruments 旗下公司) 开发和销售。USRP 提供了一个灵活且可配置的平台,用于设计、原型开发和部署各种无线通信系统。…...