首页 > 其他分享 >computed和watch之前的区别

computed和watch之前的区别

时间:2023-10-21 21:12:10浏览次数:25  
标签:缓存 computed 区别 watch deep data 监听

1、computed依赖同步数据的变化,处于生命周期的创建阶段以及更新阶段,一般如果依赖的data不变的话,则通常不会重新计算,所以一般在创建阶段,如果依赖data是变化的,则处于更新阶段,computed的值会默认走缓存,计算属性基于它们的响应式依赖进行缓存,基于data声明过或者父组件传过来的props数据进行计算的

2、watch不支持缓存,在数据变化时,他就会触发相应的操作,watch一般支持异步操作,watch中的immediate可以强制执行同步操作,当一个属性发生变化的时候,就需要去执行相应的操作,watch监听的数据必须是data中声明的或者父组件传递过来的props中的数据,当发生变化时,会触发其他操作,函函数有两个参数:immediate和deep

immediate:组件加载立即触发回调函数

deep:深度监听,发现数据内部的变化,在复杂数据类型中使用,例如数组中的对象发生变化。需要注意的是,deep无法监听到数组和对象内部的变化。

当想要执行异步或者昂贵的操作以响应不断的变化时,就需要使用watch。

总结:computed有缓存,watch无缓存,watch更多只有观察性,对数据进行监听回调。watch一般用来监听异步函数,computed一般用来计算同步函数。

标签:缓存,computed,区别,watch,deep,data,监听
From: https://www.cnblogs.com/Ly021/p/17779560.html

相关文章

  • @Resource和@Autowired区别和用处
    @Autowired和@Resource都是用于依赖注入的注解,但是他们来自不同的“父类”,具有不同的基因。具体来说,@Autowired是Spring框架定义的注解,其功能主要通过Spring的IOC和AOP实现。而@Resource则是Java本身定义的注解,来自于JSR-250(Java250规范提案),需要JDK1.6及以上版本。这两种注解在......
  • 一文1000字彻底搞懂Web测试与App测试的区别
    总结分享一些项目需要结合Web测试和App测试的工作经验给大家:从功能测试区分,Web测试与App测试在测试用例设计和测试流程上没什么区别。而两者的主要区别体现在如下几个方面:1系统结构方面Web项目,B/S架构,基于浏览器的;Web测试过程中,客户端会随服务器端同步更新,所以只需更新服务器......
  • 独立站和自建站的区别和优势分析
    在现在这个互联网时代,拥有一个自己的网站已经成为了许多人追逐的梦想。但是,在创建网站时,许多人会犯一个错误,那就是混淆了独立站和自建站的概念。今天,我们就来详细分析一下独立站和自建站的区别和优势。一、独立站和自建站的概念与区别独立站是指完全独立于其他网站的一个站点,它具有......
  • 【大揭秘】美团面试题:ConcurrentHashMap和Hashtable有什么区别?一文解析!
    正文亲爱的小伙伴们,大家好!我是小米,一个热爱技术分享的程序员,今天我为大家带来了一篇有关美团面试题的热门话题:ConcurrentHashMap和Hashtable有什么区别。这个问题在Java面试中常常被拿来考察对多线程编程的理解,所以务必认真学习,不仅仅是为了通过面试,更是为了提高自己在多线程编......
  • 计时 System.Diagnostics.Stopwatch
     // System.Diagnostics.Stopwatch.StartNew();  //使用StartNew表示已经实例并且开始计时//sw.Reset();//重置//sw.Elapsed.TotalMilliseconds;//毫秒  System.Diagnostics.Stopwatchsw=newSystem.Diagnostics.Stopwatch();  sw.Start();......
  • PMP开工会议和启动会议的区别
    项目启动会议(ProjectInitiatingMeeting):项目启动阶段结束时进行。项目开工会议(ProjectKick-offMeeting):项目管理计划完成后,项目具体工作实施之前进行。 一般PMP考试都是考开工会议,但是有时题目会把开工会翻译成启动会,所以需要留意英文翻译。 ......
  • 并行和并发的区别(详细)
    并行(Parallelism)和并发(Concurrency)是计算机科学中两个相关但不同的概念,它们都涉及多任务处理,但在执行方式和目标上有重要区别:并行(Parallelism):定义:并行是指同时执行多个任务或操作,它们可以在同一时刻开始和结束。这通常涉及到多个处理单元(如CPU核心)或多台计算机同时执行不同的......
  • 内核编译obj-m和obj-y的区别
    在内核编译时,主要涉及一下文件:kernel/arch/arm/configs/*.defconfigkernel/driver/*/Makefilekernel/driver/*/Kconfig如果我们想要往内核中增加新的节点,还要涉及到设备树文件,kernel/arch/arm/boot/dts/在进行模块编译时,主要有两个选项,obj-m和obj-y,而与内核密切相关的是obj-y......
  • Flutter开发--新建项目中4种Project Type区别
     Projectflutter项目,里面有iOS、Android目录Moduleflutter模块,原生iOS项目,想加flutter功能开发Pluginflutter插件,原生flutter项目,想加iOS功能开发Package纯flutter项目,没有iOS、Android目录 https://www.jianshu.com/p/01972bf7cb97......
  • python异常处理else和finally的区别
    Python3错误和异常|菜鸟教程(runoob.com)try/except...elsetry/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的except子句之后。else子句将在try子句没有发生任何异常的时候执行。以下实例在try语句中判断文件是否可以打开,如果打开文......