methods 和 watch 和 computed的区别及适用场景
methods
- 是一个方法,它可以接受参数。
- 页面数据每次重新渲染都会重新执行,性能消耗大。
- 不希望有缓存的时候使用。
computed
- 是计算属性,依赖于一个或多次,其他属性计算值。
- computed的值有缓存,只有当计算值发生改变才会返回内容。
- 可以依赖其他computed,甚至是其他组件的data watch 配置 handler deep 是否深度 immeditate 是否立即执行。
- 需要依赖别的属性来动态获得值的时候可以用computed。
- 场景:一个数据受多个数据影响。eg:购物车商品结算
watch
- 监听到值的变化,就会执行回调。对于监听到值的变化需要做异步操作或开销较大的操作时用watch。
- 场景:一个数据影响多个数据。eg:搜索数据