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

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 作用&#xff1a;定义一个响应式数据 语法&#xff1a;const xxx ref(initValue) 创建一个包含响应式数据的引用对象 js中操作数据&#xff1a;xxx.value 模板中读取数据&#xff1a;不需要.value,直接<div>{{xxx}}</div> 接收的数据&#xff1a;基本类型、对…...

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-如何用自己数据微调ChatGLM2模型训练 目录 GPT实战系列-如何用自己数据微调ChatGLM2模型训练1、训练数据广告文案生成模型训练和测试数据组织&#xff1a; 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码&#xff1a;每4位二进制表示一位十进制 8421…...

spring boot配置ssl(多cer格式)保姆级教程

1. 准备cer格式的证书&#xff1b; 2. 合并cer证书并转化成jks格式的证书 为啥有这一步&#xff0c;因为cer证书配置在spring boot项目中&#xff0c;项目启动不起来。如果有大佬想指导一下可以给我留言&#xff0c;在此先谢过大佬。 1&#xff09;先创建一个jks格式的证…...

第2篇 机器学习基础 —(4)k-means聚类算法

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。聚类算法是一种无监督学习方法&#xff0c;它将数据集中的对象分成若干个组或者簇&#xff0c;使得同一组内的对象相似度较高&#xff0c;不同组之间的对象相似度较低。聚类算法可以用于数据挖掘、图像分割、文本分类等领域…...

【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展开软件&#xff0c;用于在三维模型上创建和编辑UV贴图。它具有直观的用户界面和丰富的功能&#xff0c;能够帮助艺术家和设计师更高效地进行UV展开工作。 RizomUV RS VS支持多种模型格式&#xff0c;包括OBJ、FBX、DAE和3DS等&#xff0c;使…...

Linux文件描述符和文件指针互转

本文研究的主要是Linux中文件描述符fd与文件指针FILE*互相转换的相关内容&#xff0c;具体介绍如下。 简介 1.文件描述符fd的定义: 文件描述符在形式上是一个非负整数。实际上&#xff0c;它是一个索引值&#xff0c;指向内核为每一个进程所维护的该进程打开文件的记录表。当…...

C++11线程

C11线程 创建线程 创建线程需要包含头文件<thread>&#xff0c;使用线程类std::thread 构造函数 默认构造函数 thread() noexcept; 默认构造函数&#xff0c;构造一个线程对象&#xff0c;但它不会启动任何实际的线程执行。 任务函数构造函数 template< class Fun…...

VIVO应用商店评论数据抓取

VIVO应用商店的app评论数据抓取 每个应用的评论能获取到最新的 100页 数据 每页20条&#xff0c;也就是 2000条评论数据 接口&#xff1a; pl.appstore.vivo.com.cn/port/comments/ 爬取运行截图&#xff1a;...

第00章_写在前面

第00章_写在前面 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.comhttp://www.atguigu.com/) 一、MySQL数据库基础篇大纲 MySQL数据库基础篇分为5个篇章&#xff1a; 1. 数据库概述与MySQL安装篇…...

​测绘人注意,你可能会改变历史!

你也许想不到&#xff0c;曾经有一个测绘人员在进行实地测量作业时&#xff0c;在地图上就这么随手一标注&#xff0c;却让这个地方成为了如今的网红打卡地。 这个地方就是外地游客慕名而来的“宽窄巷子”&#xff0c;如果连这个地方都不知道的成都人&#xff0c;就应该不能算…...

MySQL - 慢查询

慢查询日志用于记录执行时间超过设定的时间阈值的 SQL 查询语句。它的目的是帮助数据库管理员识别和优化执行时间较长的查询&#xff0c;以提高数据库性能&#xff1a; 慢查询定义&#xff1a;慢查询日志记录那些执行时间超过 long_query_time 参数设定的时间阈值的 SQL 查询语…...

go中“哨兵错误”的由来及使用建议

“哨兵错误&#xff08;sentinel error&#xff09;”这个词的出处。之前我也只是在一些书籍和资料中见到过&#xff0c;也没深究。当这个网友问了我之后&#xff0c;就深入的翻了翻资料&#xff0c;在golang的官方博客中找到了这个词的提法&#xff0c;也算是比较官方的了吧。…...

【Python百练——第2练】使用Python做一个猜数字小游戏

&#x1f490;作者&#xff1a;insist-- &#x1f490;个人主页&#xff1a;insist-- 的个人主页 理想主义的花&#xff0c;最终会盛开在浪漫主义的土壤里&#xff0c;我们的热情永远不会熄灭&#xff0c;在现实平凡中&#xff0c;我们终将上岸&#xff0c;阳光万里 ❤️欢迎点…...

Power BI 傻瓜入门 18. 让您的数据熠熠生辉

本章内容包括&#xff1a; 配置Power BI以使数据增量刷新发现使用Power BI Desktop and Services保护数据集的方法在不影响性能和完整性的情况下管理海量数据集 如果有更新的、更相关的数据可用&#xff0c;旧数据对组织没有好处。而且&#xff0c;老实说&#xff0c;如果数据…...

什么是车规级芯片?一起探讨车规级芯片NCV8705MTADJTCG LDO线性稳压器 工作原理、特性参数

关于车规级芯片&#xff08;Automotive Grade Chip&#xff09;&#xff0c;车规级芯片是专门用于汽车行业的芯片&#xff0c;具有高可靠性、高稳定性和低功耗等特点&#xff0c;以满足汽车电子系统的严格要求。这些芯片通常用于车载电子控制单元&#xff08;ECU&#xff09;和…...

Stream流基础使用

目录 Stream出现时间: 作用: 什么是 Stream? 生成流 forEach map filter limit...

防数据泄密的解决方案

防数据泄密的解决方案 安企神数据防泄密系统下载使用 现代化企业离不开信息数据&#xff0c;数据对企业的经营至关重要&#xff0c;也是企业发展的命脉。为了保护公司数据不被泄露&#xff0c;尤其是在防止数据泄密方面&#xff0c;公司面临着巨大的挑战&#xff0c;需要采取…...

禁用swagger

springfox: documentation: auto-startup: false...

加速3DGS生成与数字孪生开发:不可错过的8款效率工具盘点

一、行业核心技术科普&#xff1a;3DGS数字孪生开发的工具链概览一个高效的3DGS数字孪生开发流程&#xff0c;离不开一套完整的工具链。从数据采集、模型生成、格式优化到应用开发与部署&#xff0c;每个环节都有其专用的工具。其域创新围绕“感知—重建—理解—创造”的技术路…...

告别Nginx配置!用miniserve在Windows/Mac/Linux三分钟内搞定文件共享

告别Nginx配置&#xff01;用miniserve在Windows/Mac/Linux三分钟内搞定文件共享 你是否曾在团队协作时&#xff0c;为了快速分享一个安装包或设计稿&#xff0c;不得不忍受FTP的繁琐配置&#xff1f;或是被Nginx的虚拟主机设置搞得头晕目眩&#xff1f;现在&#xff0c;这一切…...

为什么92.7%的临床研究者用错Perplexity药物检索?——2024年真实审计案例暴露的4个致命盲区

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity药物信息检索的临床价值与审计背景 在精准医疗快速演进的当下&#xff0c;临床决策对实时、可信、上下文感知的药物信息依赖日益加深。Perplexity作为基于推理增强型大语言模型的信息检索系统…...

Git忽略文件失效?一招解决!

场景&#xff1a; 在某次 Git 提交时&#xff0c;忘记在 .gitignore 文件中添加上某个原本应该被忽略的文件夹或者文件&#xff0c;于是后一次的提交时在 .gitignore 加上了这些文件&#xff0c;但是在远程的仓库中这些文件夹、文件却并没有消失。这个属于属于什么问题&#xf…...

C语言入门实战:从开发环境搭建到核心语法精讲

1. 从零开始&#xff1a;为什么是C语言&#xff0c;以及我们该如何开始如果你对编程世界充满好奇&#xff0c;或者想从最坚实的地基开始构建你的技术大厦&#xff0c;那么选择C语言作为起点&#xff0c;绝对是一个明智且充满挑战的决定。这不是一个轻松的选择&#xff0c;但它的…...

Chrome 90+ 跨域请求突然失败?手把手教你排查 strict-origin-when-cross-origin 这个‘新’策略

Chrome 90 跨域请求突然失败&#xff1f;从原理到实战的完整解决方案 最近不少开发者反馈&#xff0c;Chrome浏览器升级到90版本后&#xff0c;原本正常运行的前端项目突然出现跨域请求失败的问题。控制台只显示一个模糊的strict-origin-when-cross-origin错误&#xff0c;让人…...

从51到Linux:一个嵌入式工程师的五年踩坑与填坑全记录(附避坑清单)

从51到Linux&#xff1a;一个嵌入式工程师的五年踩坑与填坑全记录&#xff08;附避坑清单&#xff09; 五年前&#xff0c;当我第一次点亮51单片机的LED灯时&#xff0c;绝没想到这条路上会有这么多隐藏的陷阱。从寄存器配置的字节对齐问题&#xff0c;到Linux驱动中的竞态条件…...

别再只用K-Means了!用DBSCAN搞定非球形数据聚类(附Python代码实战)

突破K-Means局限&#xff1a;DBSCAN在复杂数据聚类中的实战指南 当数据科学家面对那些"不听话"的非球形分布数据集时&#xff0c;传统K-Means算法往往会束手无策。想象一下这样的场景&#xff1a;你的客户分群数据呈现出笑脸形状的分布&#xff0c;或者市场调研数据形…...

手把手教你用STM32CubeMX和Keil MDK玩转极海APM32F072RB(附ST-LINK避坑指南)

从STM32到极海APM32F072RB的平滑迁移实战指南 当ST芯片供货紧张时&#xff0c;许多工程师开始将目光转向国产替代方案。极海半导体的APM32系列因其与STM32的高度兼容性而备受关注。作为曾经深度依赖STM32生态的开发者&#xff0c;我在最近三个项目中成功将APM32F072RB投入实际应…...

别再傻傻分不清了!给硬件工程师的SI、PI、EMI关系速查手册(附高频PCB设计实例)

硬件工程师实战指南&#xff1a;SI、PI、EMI的三角关系与高频PCB设计避坑 当你第一次面对DDR4布线导致的EMI测试失败时&#xff0c;可能会陷入这样的困惑&#xff1a;明明是信号完整性问题&#xff0c;为什么整改方案却是调整电源层的去耦电容&#xff1f;这种看似跨领域的因果…...