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较好