computed
- 支持缓存
- 不支持异步
watch
- 不支持缓存
- 支持异步
- 拥有两个配置项:immediate(立即执行),deep(深度监视)
- 监听的函数接收两个参数,第一个是newValue,第二个是oldValue
总结
- computed能完成的功能,watch都可以完成
- watch能完成的功能,computed不一定能完成
原则
- 被vue管理的函数,写成普通函数,此时的this指向vm或组件实例对象
- 不被vue管理的函数(定时器的回调函数,Ajax的回调函数),写成箭头函数,这时的this指向才是vm或组件实例对象