ref、reactive、toRef、toRefs
ref
作用:定义一个响应式数据
语法:const xxx = ref(initValue)
创建一个包含响应式数据的引用对象
js中操作数据:xxx.value
模板中读取数据:不需要.value,直接<div>{{xxx}}</div>
接收的数据:基本类型、对象类型
基本类型的数据:响应式是靠object.defineProperty()的get与set完成的
对象类型的数据:通过vue3.0的一个新函数–reactive函数包装实现的
import { ref } from 'vue'
// 为基本数据类型添加响应式状态
const name = ref('张三')
// 为复杂数据类型添加响应式状态
const state = ref({
count: 0
})
// 打印name的值
console.log(name.value)
// 打印count的值
console.log(state.value.count)
reactive
作用:定义一个对象类型的响应式数据
语法:const 代理对象= reactive(源对象)接收一个对象(或数组),返回一个代理对象(Proxy的实例对象,简称proxy对象)
操作数据与读取数据:均不需要.value。
reactive定义的响应式数据是“深层次的”
内部基于ES6的Proxy实现,通过代理对象操作对象内部数据进行操作
import { reactive } from 'vue'
// 响应式状态
const state = reactive({
count: 0
})
// 打印count的值
console.log(state.count)
toRef
作用:创建一个ref对象,其value值指向另一个对象中的某个属性。
语法:const name = toRef(person,'name')
获取数据值的时候需要加.value
toRef后的ref数据不是原始数据的拷贝,而是引用,改变结果数据的值也会同时改变原始数据
应用:要将响应式对象中的某个属性单独提供给外部使用时。
import { defineComponent, toRef } from 'vue'
export default defineComponent({
props: [title],
setup (props) {
// 创建变量myTitle
const myTitle = toRef(props, 'title')
console.log(myTitle.value)
}
})
toRefs
作用:批量创建多个 ref 对象
语法:toRefs(person)
获取数据值的时候需要加.value
toRefs后的ref数据不是原始数据的拷贝,而是引用,改变结果数据的值也会同时改变原始数据
应用:常用于es6的解构赋值操作,因为在对一个响应式对象直接解构时解构后的数据将不再有响应式,而使用toRefs可以方便解决这一问题。
import { defineComponent, toRefs } from 'vue'
export default defineComponent({
props: [title],
setup (props) {
// 使用了解构赋值语法创建了变量myTitle
const { myTitle } = toRefs(props)
console.log(myTitle.value)
}
})
相关文章:
ref、reactive、toRef、toRefs
ref 作用:定义一个响应式数据 语法:const xxx ref(initValue) 创建一个包含响应式数据的引用对象 js中操作数据:xxx.value 模板中读取数据:不需要.value,直接<div>{{xxx}}</div> 接收的数据:基本类型、对…...
GPT实战系列-如何用自己数据微调ChatGLM2模型训练
GPT实战系列-如何用自己数据微调ChatGLM2模型训练 目录 GPT实战系列-如何用自己数据微调ChatGLM2模型训练1、训练数据广告文案生成模型训练和测试数据组织: 2、训练脚本3、执行训练调整运行 4、问题解决问题一问题二问题三问题四 1、训练数据 广告文案生成模型 输…...
【数电知识点_2023.10.28】
数制与码制 十进制转二进制 8 bits 1 Byte 2|12 //121100自下而上 商为0为止 2|_ 6_…0 2|_ 3_…0 2|1…1 0…1 0.375 //0.3750.011自上而下 小数点为0为止 x 2 ———— 0.75…0 x 2 ———— 1.5…1 x 2 ———— 1…1 BCD码:每4位二进制表示一位十进制 8421…...
spring boot配置ssl(多cer格式)保姆级教程
1. 准备cer格式的证书; 2. 合并cer证书并转化成jks格式的证书 为啥有这一步,因为cer证书配置在spring boot项目中,项目启动不起来。如果有大佬想指导一下可以给我留言,在此先谢过大佬。 1)先创建一个jks格式的证…...
第2篇 机器学习基础 —(4)k-means聚类算法
前言:Hello大家好,我是小哥谈。聚类算法是一种无监督学习方法,它将数据集中的对象分成若干个组或者簇,使得同一组内的对象相似度较高,不同组之间的对象相似度较低。聚类算法可以用于数据挖掘、图像分割、文本分类等领域…...
【Python爬虫+可视化】解析小破站热门视频,看看播放量为啥会这么高!评论、弹幕主要围绕什么展开
大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 环境使用 Python 3.8 Pycharm 模块使用 import requests import csv import datetime import hashlib import time 一. 数据来源分析 明确需求 明确采集网站以及数…...
Mac电脑专业三维模型展UV贴图编辑工具RizomUV RS + VS 2023有哪些特点
RizomUV RS VS是一款功能强大的UV展开软件,用于在三维模型上创建和编辑UV贴图。它具有直观的用户界面和丰富的功能,能够帮助艺术家和设计师更高效地进行UV展开工作。 RizomUV RS VS支持多种模型格式,包括OBJ、FBX、DAE和3DS等,使…...
Linux文件描述符和文件指针互转
本文研究的主要是Linux中文件描述符fd与文件指针FILE*互相转换的相关内容,具体介绍如下。 简介 1.文件描述符fd的定义: 文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当…...
C++11线程
C11线程 创建线程 创建线程需要包含头文件<thread>,使用线程类std::thread 构造函数 默认构造函数 thread() noexcept; 默认构造函数,构造一个线程对象,但它不会启动任何实际的线程执行。 任务函数构造函数 template< class Fun…...
VIVO应用商店评论数据抓取
VIVO应用商店的app评论数据抓取 每个应用的评论能获取到最新的 100页 数据 每页20条,也就是 2000条评论数据 接口: pl.appstore.vivo.com.cn/port/comments/ 爬取运行截图:...
第00章_写在前面
第00章_写在前面 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.comhttp://www.atguigu.com/) 一、MySQL数据库基础篇大纲 MySQL数据库基础篇分为5个篇章: 1. 数据库概述与MySQL安装篇…...
测绘人注意,你可能会改变历史!
你也许想不到,曾经有一个测绘人员在进行实地测量作业时,在地图上就这么随手一标注,却让这个地方成为了如今的网红打卡地。 这个地方就是外地游客慕名而来的“宽窄巷子”,如果连这个地方都不知道的成都人,就应该不能算…...
MySQL - 慢查询
慢查询日志用于记录执行时间超过设定的时间阈值的 SQL 查询语句。它的目的是帮助数据库管理员识别和优化执行时间较长的查询,以提高数据库性能: 慢查询定义:慢查询日志记录那些执行时间超过 long_query_time 参数设定的时间阈值的 SQL 查询语…...
go中“哨兵错误”的由来及使用建议
“哨兵错误(sentinel error)”这个词的出处。之前我也只是在一些书籍和资料中见到过,也没深究。当这个网友问了我之后,就深入的翻了翻资料,在golang的官方博客中找到了这个词的提法,也算是比较官方的了吧。…...
【Python百练——第2练】使用Python做一个猜数字小游戏
💐作者:insist-- 💐个人主页:insist-- 的个人主页 理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里 ❤️欢迎点…...
Power BI 傻瓜入门 18. 让您的数据熠熠生辉
本章内容包括: 配置Power BI以使数据增量刷新发现使用Power BI Desktop and Services保护数据集的方法在不影响性能和完整性的情况下管理海量数据集 如果有更新的、更相关的数据可用,旧数据对组织没有好处。而且,老实说,如果数据…...
什么是车规级芯片?一起探讨车规级芯片NCV8705MTADJTCG LDO线性稳压器 工作原理、特性参数
关于车规级芯片(Automotive Grade Chip),车规级芯片是专门用于汽车行业的芯片,具有高可靠性、高稳定性和低功耗等特点,以满足汽车电子系统的严格要求。这些芯片通常用于车载电子控制单元(ECU)和…...
Stream流基础使用
目录 Stream出现时间: 作用: 什么是 Stream? 生成流 forEach map filter limit...
防数据泄密的解决方案
防数据泄密的解决方案 安企神数据防泄密系统下载使用 现代化企业离不开信息数据,数据对企业的经营至关重要,也是企业发展的命脉。为了保护公司数据不被泄露,尤其是在防止数据泄密方面,公司面临着巨大的挑战,需要采取…...
禁用swagger
springfox: documentation: auto-startup: false...
加速3DGS生成与数字孪生开发:不可错过的8款效率工具盘点
一、行业核心技术科普:3DGS数字孪生开发的工具链概览一个高效的3DGS数字孪生开发流程,离不开一套完整的工具链。从数据采集、模型生成、格式优化到应用开发与部署,每个环节都有其专用的工具。其域创新围绕“感知—重建—理解—创造”的技术路…...
告别Nginx配置!用miniserve在Windows/Mac/Linux三分钟内搞定文件共享
告别Nginx配置!用miniserve在Windows/Mac/Linux三分钟内搞定文件共享 你是否曾在团队协作时,为了快速分享一个安装包或设计稿,不得不忍受FTP的繁琐配置?或是被Nginx的虚拟主机设置搞得头晕目眩?现在,这一切…...
为什么92.7%的临床研究者用错Perplexity药物检索?——2024年真实审计案例暴露的4个致命盲区
更多请点击: https://intelliparadigm.com 第一章:Perplexity药物信息检索的临床价值与审计背景 在精准医疗快速演进的当下,临床决策对实时、可信、上下文感知的药物信息依赖日益加深。Perplexity作为基于推理增强型大语言模型的信息检索系统…...
Git忽略文件失效?一招解决!
场景: 在某次 Git 提交时,忘记在 .gitignore 文件中添加上某个原本应该被忽略的文件夹或者文件,于是后一次的提交时在 .gitignore 加上了这些文件,但是在远程的仓库中这些文件夹、文件却并没有消失。这个属于属于什么问题…...
C语言入门实战:从开发环境搭建到核心语法精讲
1. 从零开始:为什么是C语言,以及我们该如何开始如果你对编程世界充满好奇,或者想从最坚实的地基开始构建你的技术大厦,那么选择C语言作为起点,绝对是一个明智且充满挑战的决定。这不是一个轻松的选择,但它的…...
Chrome 90+ 跨域请求突然失败?手把手教你排查 strict-origin-when-cross-origin 这个‘新’策略
Chrome 90 跨域请求突然失败?从原理到实战的完整解决方案 最近不少开发者反馈,Chrome浏览器升级到90版本后,原本正常运行的前端项目突然出现跨域请求失败的问题。控制台只显示一个模糊的strict-origin-when-cross-origin错误,让人…...
从51到Linux:一个嵌入式工程师的五年踩坑与填坑全记录(附避坑清单)
从51到Linux:一个嵌入式工程师的五年踩坑与填坑全记录(附避坑清单) 五年前,当我第一次点亮51单片机的LED灯时,绝没想到这条路上会有这么多隐藏的陷阱。从寄存器配置的字节对齐问题,到Linux驱动中的竞态条件…...
别再只用K-Means了!用DBSCAN搞定非球形数据聚类(附Python代码实战)
突破K-Means局限:DBSCAN在复杂数据聚类中的实战指南 当数据科学家面对那些"不听话"的非球形分布数据集时,传统K-Means算法往往会束手无策。想象一下这样的场景:你的客户分群数据呈现出笑脸形状的分布,或者市场调研数据形…...
手把手教你用STM32CubeMX和Keil MDK玩转极海APM32F072RB(附ST-LINK避坑指南)
从STM32到极海APM32F072RB的平滑迁移实战指南 当ST芯片供货紧张时,许多工程师开始将目光转向国产替代方案。极海半导体的APM32系列因其与STM32的高度兼容性而备受关注。作为曾经深度依赖STM32生态的开发者,我在最近三个项目中成功将APM32F072RB投入实际应…...
别再傻傻分不清了!给硬件工程师的SI、PI、EMI关系速查手册(附高频PCB设计实例)
硬件工程师实战指南:SI、PI、EMI的三角关系与高频PCB设计避坑 当你第一次面对DDR4布线导致的EMI测试失败时,可能会陷入这样的困惑:明明是信号完整性问题,为什么整改方案却是调整电源层的去耦电容?这种看似跨领域的因果…...
