watch和computed和methods区别是什么?

1.computed

计算属性

conputed计算属性是基于它们的依赖进行缓存的,计算属性只有在它监听的数据发生变化时才会重新计算求值。只要数据中message不发生改变,多次访问reversedMessage计算属性会立即返回之前的计算结果,不会在执行函数。

1.1.计算属性都是同步的,不支持异步

1.2计算属性具有缓存,是基于它们的依赖进行缓存的。

 

2.watch

监听属性

监听器watch是监听一个特定的值,当该值发生变化时执行特定的函数

1.1watch支持异步

1.2监听的函数有两个参数,一个是新的值,一个是之前的值

1.3.不支持缓存,当监听数据发生改变立即执行相应的操作

 

3.methods

方法

只要发生重新渲染就会执行函数。

不需要进行缓存

4.methods和computed区别

4.1.computed支持缓存,methods不支持缓存

4.2.computed只要监听的数据不发生变化就不需要执行相应的操作,并返回之前的值。methods只要重新渲染就要执行函数。

4.3 computed不支持异步

总结:数据量大时,需要缓存用computed;每次要重新加载,不需要缓存时用

5.computed和watch区别

5.1 computed不支持异步,watch支持异步

5.2watch不缓存

总结:当数据变化是执行的异步操作时用watch较好

原文地址:https://www.cnblogs.com/babilong/p/13438881.html