【VUE】Vue中 computed计算属性和watch侦听器的区别

news/2024/10/23 18:43:38/

核心功能不同
computed 是一个计算属性,其核心功能是基于已有的数据属性计算得出新的属性值。当某个依赖的数据发生变化时,computed 会自动重新计算并更新自己的值。因此,可以将 computed 看做是一种“派生状态”。

watch 是一个观察者函数(watcher),可以监听某个数据的变化并执行回调函数。当被监听的数据变化时,watch 将会被触发并执行与之相关的回调函数。watch 的核心功能是“响应式”,它可以对数据变化做出响应。

使用场景不同
computed 适用于那些需要根据已有数据计算得出新值的情况,例如:对列表进行过滤、格式化日期等。
computed 的特点是:响应式、缓存和计算结果只有在相关依赖发生变化时才进行更新。
因此,如果一个属性需要频繁计算,又与其他属性有关联,那么使用 computed 可以有效提高应用的性能。

watch 适用于那些需要在数据变化时采取特定操作的情况,例如:异步操作、API 调用等。
watch 的特点是:监听数据变化、执行回调函数并且可以拿到新旧值。

响应式的原理不同
computed 依赖于响应式系统的更新机制,当计算属性所依赖的数据发生变化时,会自动触发重新计算。
因此,computed 是一种响应式依赖关系。

watch 使用了 Vue 的观察者机制,底层实现是通过 Object.defineProperty() 来设置 getter 和 setter 函数,并在数据变化时触发回调函数。
因此,watch 基于的是“事件监听”,而不是响应式依赖关系。


http://www.ppmy.cn/news/1541415.html

相关文章

(北京政务服务满意度公司)满意度调查助力服务质量提升

在当今社会,(政务服务满意度公司)政务窗口服务的质量直接关系到市民的日常生活和城市的健康发展。为了解市民对政务窗口服务的满意度,提升服务质量,某市委托民安智库专业市场调查公司开展了政务窗口服务满意度调查&…

Python知识点:基于Python技术和工具,如何使用Chainlink进行链下数据访问

开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 如何使用Chainlink进行链下数据访问 在区块链开发中,智能合约通常需…

Avalonia环境如何安装及安装问题解决

一、Avalonia环境安装 要在Avalonia环境中进行开发,你需要按照以下步骤进行安装和配置: 安装Visual Studio扩展: 打开Visual Studio,进入“扩展”->“管理扩展”。搜索“Avalonia”,选择“Avalonia for Visual Stu…

大模型带来新安全机遇

当前网络空间安全面临攻击隐蔽难发现、数据泄露风险高和违法信息审核难等挑战。大模型展现出强大的信息理解、知识抽取、意图和任务编排等能力,为网络空间安全瓶颈问题提供了新的解决思路和方法。与此同时,大模型发展也催生了恶意软件自动生成、深度伪造…

MySQL日期函数的详细学习要点

MySQL中的日期函数提供了丰富的功能,用于处理日期和时间数据。以下是MySQL日期函数的详细学习要点: 1. 获取当前日期和时间 - NOW():返回当前的日期和时间。 - CURDATE():以yyyy-mm-dd或yyyymmdd格式返回当前日期值。 - CURTIME…

使用 cmake 在 x86 系统中为 arm 系统交叉编译程序

原理: 在 x86 系统里使用交叉编译工具链(arm 版 gcc/g)编译程序,然后放在 arm 系统里运行。 arm 版本 使用 lscpu 查看 cpu 架构 版本说明armv732 bitarmv8/arrch6464 bit 安装交叉编译工具链 # 针对 armv7 sudo apt install…

2024Flutter面试题

1.Dart是值传递还是引用传递? dart是值传递。 每次调用函数,传递过去的都是对象的内存地址,而不是这个对象的赋值。 2.简述Dart语音特性 在Dart中,一切都是对象,所有的对象都是继承自Object Dart是强类型语言&#…

电感的学习

电感是表示电路中电流变化对电压影响的物理量,常用符号 LLL 表示。电感的基本公式可以从其定义和基本特性中得出,主要包括以下几个方面: 1. 电感的定义 2. 电感能量存储 3. 自感与互感 自感:电感器自身的电感,表示电…