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

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

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

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

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

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

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

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

http://www.lryc.cn/news/464340.html

相关文章:

  • linux线程 | 同步与互斥 | 深度学习与理解同步
  • Tkinter Frame布局笔记--做一个简易的计算器
  • 算法专题八: 链表
  • MySQL中关于NULL值的六大坑!你被坑过吗?
  • 学生学习动机测试:激发潜能,引领未来
  • 基于SSM党务政务服务热线管理系统的设计
  • OSI参考模型详解:初学者指南与实践案例
  • S7-200 SMART 与 S7-1200 之间 TCP 通信— S7-200 SMART 作为服务器
  • Java @RequestPart注解:同时实现文件上传与JSON对象传参
  • 深度学习基础知识-02 数据预处理
  • 【CTF刷题9】2024.10.19
  • WPF中的Setter
  • RabbitMQ下载与配置
  • 【数据结构与算法】力扣 54. 螺旋矩阵
  • 速通不了的人工智能
  • 微信新功能上线,找工作也能“附近”搞定
  • CANoe与C#联合仿真方案
  • 公交信息在线查询系统|基于java和小程序的公交信息在线查询系统小程序设计与实现(源码+数据库+文档)
  • [LeetCode] 1162. 地图分析
  • CentOS 上安装 MySQL(附卸载教程)
  • 如何在Matlab界面中添加日期选择器?
  • 保险系统的部分模式01
  • 用你的手机/电脑运行文生图方案
  • L1正则化详解
  • C语言在数据库开发中的应用及其代码实践
  • java maven
  • Java爬虫:获取直播带货数据的实战指南
  • python 列表、元组、字典易误区
  • wireshark或tshark提取tcpdump捕获的数据包(附python脚本自动解析文件后缀)
  • 了解EasyNVR及EasyNVS,EasyNVR连接EasyNVS显示授权超时如何解决?什么原因?