computed【计算属性】
- 当一个数据受多个数据的影响或者某个值需要通过某个逻辑或者由多个数据计算而来就可以使用到计算属性
- 支持缓存,当以来的数据发生改变的时候,会进行重新计算,否则就会从缓存中进行取值(读取数据)
- 不支持异步:当computed中有异步操作的时候是无效的,无法监听到数据的变化
- 使用的时候与data中的数据使用方式是一样的
- 当computed属性值是函数,那么默认使用get,返回值就是属性的属性值;当数据发生改变的时候,使用set方法
- 使用场景:购物车金额计算
watch【监听属性】
- 当一个数据变化影响一个或者或者多个数据的时候就会需要一个监听者
- 不支持缓存,监听的数据发生变化就会触发相应的监听回调
- 支持异步,监听的数据必须是data中定义过的数据或者说是通过props传递过来的数据
- 它有两个重要的属性:一个是immediate 另一个是deep
- immediate是组件加载立即触发,如果是true,组件加载立即出发,如果是false,那么组件首次加载不会执行监听逻辑
- deep深度监听【为了监听对象内部值得变化,适用于复杂数据类型得数据中】
methods【方法】
无缓存,每次访问重新执行,消耗性能比较高