AI答案
1、watch和computed区别
2、以Vue为例。其手表和计算表之间的差异如下:
3、1.computed支持缓存,只有当依赖数据发生变化时才会重新计算;Watch不支持缓存,数据变化会直接触发相应的操作。
4、2.computed不支持异步。computed中有异步操作时无效,无法监控数据变化;手表支持异步。
5、3.计算出来的属性值默认会被缓存,计算出来的属性是根据其响应依赖关系缓存的,也就是根据数据中声明的或者父组件传递的props中的数据计算出来的值;watch监控的函数接收两个参数,第一个参数是最新的值,第二个参数是输入前的值。
6、4.如果一个属性是由其他属性计算出来的,这个属性依赖于其他属性,而且是多对一或者一对一,通常用computed;当一个属性发生变化时,需要进行相应的操作;一对多一般用手表。
7、5.如果计算属性的属性值是函数,默认取get方法;函数的返回值是属性的属性值;在computed中,所有属性都有一个get方法和一个set方法。当数据改变时,调用set方法。watch监控的数据必须是数据中声明的或者父组件传递的props中的数据。当数据发生变化时,会触发其他操作。该函数有两个参数。
本文到此结束,希望对大家有所帮助。