[TOC]
computed
- 计算属性不能是在data里定义过的
- computed比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化,举例:购物车里面的商品列表和总金额之间的关系,只要商品列表里面的商品数量发生变化,或减少或增多或删除商品,总金额都应该发生变化
- 在Vue中计算属性是基于它们的依赖进行缓存的,而方法是不会基于它们的依赖进行缓存的。从而使用computed属性要比method性能更好。
- computed有缓存,若相关数据未发生变化,则不调用;
method
- 通过触发一个事件或者函数的回调来实现数据的更新,他的执行,依赖于事件的触发
watch
- watch主要用于监控vue实例的变化,它监控的变量当然必须在data里面声明才可以,它是监控单个变量或对象
- 消耗比较大
- watch多用于数据交互频繁的内容。(例如定时axios从服务器获取数据)
可以参考的文章:
vue中mothods,computed,watch方法的区别
Vue的computed和watch的细节全面分析