首页 > 其他分享 >computed(计算属性)和watch(侦听属性)的区别

computed(计算属性)和watch(侦听属性)的区别

时间:2024-06-08 11:01:48浏览次数:20  
标签:调用 函数 watch 属性 侦听 computed

1.

computed计算属性调用才会执行,有返回值

watch侦听属性不需要调用,只要侦听的数据发生改变就会执行

2.

computed计算属性能够完成的操作watch侦听属性都可以完成,但是watch侦听属性能够完成的操作computed不能全部完成,比如异步操作,computed内部不能执行异步操作,watch内部可以执行异步操作

3.

computed计算属性实际上是调用本身的get函数,其值就是get函数的返回值

watch侦听属性实际上调用的是本身的handler函数,执行handler函数内部的代码,且没有返回值

4.

computed计算属性的属性名字可以自定义

watch侦听属性的属性名字不能自定义,只能是使用data中保存的数据

5.

watch属性中handler函数接受两个参数,第一个参数是侦听数据修改之后的新值,第二个参数是侦听数据修改之前的旧值

6.

watch侦听属性中除了handler函数外,还有另外两个默认为false的属性,分别为初次化侦听immediat属性和deep属性,immediate属性用于是否vue初始化时侦听数据,默认为false,deep属性表示是否开启深度侦听,即对对象进行深度侦听(对象中每一个数据的变化,都会自动调用该侦听函数),默认为false,则只侦听对象所在的地址变化,不会侦听对象内部的属性变化

计算属性在数据不变的情况下,调用多次但是只执行一次,因为有缓存,但是如果计算属性用到的数据发生改变,且计算属性在调用中,则会自动执行函数更新数据.

watch侦听属性默认初始化不侦听数据,且watch不需要调用,不需要返回值,它侦听属性直接赋值而已,且数据改变它会自动执行

标签:调用,函数,watch,属性,侦听,computed
From: https://blog.csdn.net/2401_82679799/article/details/139474200

相关文章

  • Vue的data中对象新增属性后,页面却不渲染(未渲染)
    前提背景:在data中定义了一个数组 usableList:[],给数组中的每个对象添加checked属性(用来查看数据的勾选状态) 问题:勾选后,数组的数据已经改变了,但是未渲染到页面中 问题原因:在于在Vue实例创建时,对象新增的属性并未声明,因此就没有被Vue转换为响应式的属性,自然就不会触发视......
  • new/类/null/+/PrimitiveValue/valueOf/toString/环境/HTML 脚本元素属性
    newfunctionmyObjCreate(proto){functionF(){}F.prototype=protoreturnnewF();}functionmyNew(F,...args){letobj=myObjCreate(F.prototype)letres=F.call(obj,...args);returntypeofres==='object'&&res!==null?res:obj......
  • css属性
    字体属性:{height:*px}高度{width:*px}宽度{font-size:*px}字体大小{color:red/rgb()/#4f4f4f}字体颜色{font-style:normal/italic/oblique}字体倾斜{font-variant:normal/smal-caps}{font-weight:normal/bold/bolder/lighter/integer}字体粗细{......
  • Spring - AOP - @EnableAspectAutoJAutoProxy 与其属性exposeProxy,proxyTargetClass
    这三个属性是Spring框架中与AOP(面向切面编程)相关的配置。 EnableAspectJAutoProxy:这是一个注解,用于开启Spring对AspectJ的自动代理功能。  exposeProxy:这个属性用于配置是否需要将代理对象暴露给AOP创建的Subject,这样就可以在代理对象内部通过AopContext.currentProxy......
  • 创建属性property时,不用官方的 default 说明符;
    创建属性property时,不用官方的default说明符;首先看个案例TPerson=classpublishedpropertyAge:IntegerreadFAgewriteSetAgedefault20;end;我们创建一个TPerson类给其一个属性,然后使用了default20关键字,按照我们的理解应该是这个age属性的默认值就......
  • Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
    打包与运行window版本上制作我们要把idea中的程序抽取出来作为一个独立的jar包把jar包放到服务器上服务器是长期运行的我们就能随时访问了在Maven的生命周期中选择package打包功能在资源管理器中查找java-jar文件名.jarjava-jar文件名.jar但是我们在测试里面......
  • JavaScript第十讲:DOM编程(1):节点概念,如何获取元素节点,节点属性,样式
    前言在当今的Web开发中,DOM(DocumentObjectModel)编程扮演着至关重要的角色。DOM是HTML和XML文档的编程接口,它使得我们可以像操作对象一样来操作网页上的元素。无论是构建动态网页,还是实现用户交互,都离不开对DOM的深入理解和灵活运用。在本文中,我们将开启DOM编程的系列学习之旅......
  • microeco包网络分析的一些关键属性
    Vertex 135Edge 1523Average_degree 22.562962962963Average_path_length 2.20846705198353Network_diameter 6Clustering_coefficient 0.701431967070555Density 0.168380320619127Heterogeneity 0.744514690067939Centralization 0.264455500276396Modularity 0.34......
  • andorid属性读写 + 恢复出厂设置保存文件标志位到 persist 分区
    1.关于selinux权限和用户权限组修改device/feixiang/sepolicy/radio.te allowradiopersist_file:dir{searchgetattrreadwriteadd_nameremove_name}; allowradiopersist_file:file{getattrreadwritecreateopenunlink}; system/core/rootdir......
  • idea打包运行后显示,没有主清单属性
    一、问题现象idea打包成jar包,运行后显示,没有主清单属性!二、问题分析主要原因如下:1.缺少了项目maven打包插件spring-boot-maven-plugin。2.没有指定具体的项目的Main方法入口或启动类。三、解决方法(一)方法11、查看项目打包的pom.xml文......