computed和watch的区别?
| computed | watch | |
|---|---|---|
| 使用功能 | computed是计算属性 | watch是监听一个值的变化,然后执行对应的回调 |
| 是否支持缓存 | omputed支持缓存,当依赖项没有发生变化时,就会从缓存中读取 | watch在每次监听的值发生变化的时候,都会执行回调函数 |
| 是否调用return | computed中的函数必须要用return返回 | watch中的函数不是必须要用return |
| 监听时机 | computed默认第一次加载的时候就开始监听 | watch默认第一次加载不做监听,如果需要第一次加载做监听,添加immediate属性,设置为true |
| 使用场景 | computed适用于当一个属性受多个属性影响的场景,如购物车商品结算 | watch适用于当一条数据影响多条数据的时候,如搜索框 |