uniapp-v3组合式语法-data实现

news2024/12/29 13:09:12

在vue选项式风格中,data数据是放置在export default 导出的对象中的一个data方法里面返回

export default {
 // data() 返回的属性将会成为响应式的状态
 // 并且暴露在 `this` 上
 data() {
   return {
     count: 0
   }
 },
 }

但这样写,很明显一点都不优雅,代码缩进太多了,还没开始写呢,就已经嵌套了三层大花括号,

所以vue3借助了setup语法糖将data里的响应式数据声明大大的简化了,现在声明data响应式数据
只需要在使用setup标注了的script标签内直接声明就能使用

如下

在这里插入图片描述
效果

在这里插入图片描述
但是vue官方并不希望我们这样写
在组合式 API 中,推荐使用 ref() 函数来声明响应式状态:
在这里插入图片描述

如下
在这里插入图片描述

ref() 接收参数,并将其包裹在一个带有 .value 属性的 ref 对象中返回:
在这里插入图片描述

在这里插入图片描述

为什么要使用 ref?​

你可能会好奇:为什么我们需要使用带有 .value 的 ref,而不是普通的变量?为了解释这一点,我们需要简单地讨论一下 Vue 的响应式系统是如何工作的。

当你在模板中使用了一个 ref,然后改变了这个 ref 的值时,Vue 会自动检测到这个变化,并且相应地更新 DOM。这是通过一个基于依赖追踪的响应式系统实现的。当一个组件首次渲染时,Vue 会追踪在渲染过程中使用的每一个 ref。然后,当一个 ref 被修改时,它会触发追踪它的组件的一次重新渲染。

在标准的 JavaScript 中,检测普通变量的访问或修改是行不通的。然而,我们可以通过 getter 和 setter 方法来拦截对象属性的 get 和 set 操作。

该 .value 属性给予了 Vue 一个机会来检测 ref 何时被访问或修改。在其内部,Vue 在它的 getter 中执行追踪,在它的 setter 中执行触发。从概念上讲,你可以将 ref 看作是一个像这样的对象:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1418256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝牙简学(四)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 HID协议一、摘要二、设备实现1. 大概要写的数据解释2. 代码例子3. 代码例子(c) HID协议 一、摘要 HID(Human Interface Device…

Qt SQLite3数据库加密 QtCipherSqlitePlugin

在客户端软件开发过程中,基本都会涉及到数据库的开发。QT支持的数据库也有好几种(QSQLITE, QODBC, QODBC3, QPSQL, QPSQL7),SQLite就是其中之一,但这个 SQLite 是官方提供的开源版本,没有加密功能的。如果对…

【leetcode】01背包总结

01 背包 关键点 容器容量固定每件物品只有两种状态:不选、选 1 件求最大价值 代码 int N, W; // N件物品,容量为W int w[N], v[N]; // w为大小,v为容量/* 数组定义 */ int[][] dp new int[N][W 1]; // 注意是W 1, 因为重量会取到W dp[…

win11玩游戏找不到d3dx9如何解决?5种方法轻松搞定dll问题

在Windows 11操作系统环境下,如果用户在运行游戏时发现系统无法找到d3dx9组件,这一问题可能会引发一系列不良影响和限制,严重影响到用户的正常游戏体验。首先,由于d3dx9是DirectX 9.0c的一部分,负责处理图形渲染等关键…

Nodejs前端学习Day5

苦其心志,劳其筋骨 文章目录 前言一、处理路径问题二、path路径模块总结 前言 继续fs 一、处理路径问题 在使用fs模块操作文件时,如果提供的操作路径是以./或…/开头的相对路径时,很容易出现路径动态拼接错误的问题 原因:代码在…

选择合适的CRM管理系统,需要满足以下条件

随着数据时代的发展和企业业务的不断扩大,数据的比例开始增加,传统的数据计算方法不再适合现代企业。客户管理已成为企业最重要的组成部分之一,越来越多的企业开始关注客户管理。在crm管理系统上,企业希望通过crm管理系统&#xf…

搜索引擎Elasticsearch了解

1.Lucene 是什么? 2.模块介绍 Lucene是什么: 一种高性能,可伸缩的信息搜索(IR)库 在2000年开源,最初由鼎鼎大名的Doug Cutting开发 是基于Java实现的高性能的开源项目 Lucene采用了基于倒排表的设计原理,可以非常高效地实现文本查找,在底层采用了分段的存储模式,使它在读…

面试官:Mysql中EXISTS与IN的使用有哪些差异

在数据库查询优化中,查询效率直接关系到应用程序性能。其中,IN和EXISTS是两种常见的子查询操作符,广泛应用于SQL查询语句,但它们在执行效率上有所不同。 本文深入探讨IN和EXISTS的工作原理,以及在何种情境下选择更为合…

玩转WEB接口之三续篇【HTTPS证书申请 - nginx验证】

文章目录 一, 概述二,nginx下载三,访问域名1. 做域名映射2. 运行nginx并通过域名访问 四,配置SSL证书1. 配置证书文件2. nginx 添加证书文件 五、运行并验证1. 测试、重新加载2. https访问 一, 概述 接上篇 玩转WEB接…

Qt应用软件【串口篇】串口通信

文章目录 1.串口概述2.串口传输数据的基本原理电信号的传输过程 3.串口的几个概念数据位(Data Bits)奇偶校验位(Parity Bit)停止位(Stop Bits)流控制(Flow Control)波特率&#xff0…

找到满意的北京软件外包公司

寻得一家满意的软件外包开发公司,需明确自身需求,细心调研,筛选比较,这样方能找到技术实力雄厚、服务贴心的合作伙伴,助力企业数字化转型之路。要找到一家满意的软件外包开发公司,需要遵循以下几个步骤&…

UDF学习(七)非稳态宏和对流宏及UDS_DIFFUCITY宏

非稳态宏和对流宏—FLUENT UDF-DEFINE_UDS_UNSTEADY宏 非稳态如何挂载 UDF_DEFINE_UDS_FLUX宏 对流项的宏,可以从help文件中直接用 FLUENT UDF-DEFINE_UDS_DIFFUCITY宏 定义了扩散系数 两个宏:DEFINE_ANISOTROPIC_DIFFUSITY宏和DEFINE_DIFFUSIVITY&a…

校园圈子论坛系统--APP小程序H5,前后端源码交付,支持二开!uniAPP+PHP书写!

随着移动互联网的快速发展,校园社交成为了大学生们日常生活中重要的一部分。为了方便校园内学生的交流和互动,校园社交小程序逐渐走入人们的视野。本文将探讨校园社交小程序的开发以及其带来的益处。 校园社交小程序的开发涉及许多技术和设计方面。首先&…

用友移动管理系统 DownloadServlet 任意文件读取漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

MySQL:三大日志(binlog、redolog、undolog)

再了解三个日志前我们先了解一下MySQL的两层架构: Server 层负责建立连接、分析和执行 SQL。MySQL 大多数的核心功能模块都在这实现,主要包括连接器,查询缓存、解析器、预处理器、优化器、执行器等。另外,所有的内置函数和所有跨…

雅特力AT32 Workbench图形化代码生成工具,简化嵌入式开发利器

嵌入式系统应用市场广泛,早已遍及日常生活,随着产品需求复杂度的提升,32位MCU开发难度也随之增加,如何降低开发成本,缩短开发周期,是所有嵌入式开发人员的共同课题。 面对市场竞争日益加剧的情形&#xff…

JavaWeb创建详细

这个是自己总结的onenote 笔记 , 欢迎各位探讨指正

Lucene 查询原理

Lucene 查询原理 - 知乎 前言 Lucene 是一个基于 Java 的全文信息检索工具包,目前主流的搜索系统Elasticsearch和solr都是基于lucene的索引和搜索能力进行。想要理解搜索系统的实现原理,就需要深入lucene这一层,看看lucene是如何存储需要检…

移动端设计规范 - 文字使用规范

这是一篇关于移动端产品界面设计时,文字大小的使用规范,前端人员如果能了解一点的话,在实际开发中和设计沟通时,节省沟通成本,也能提高设计落地开发时的还原度。 关于 在做移动端产品设计时,有时候使用文字…