1.computed能完成的功能,watch都可以完成。
2.watch能完成的功能,computed不一定能完成,例如: watch可以进行异步操作。
3.computed会使用缓存,而watch不使用缓存,每次监听都执行回调
4.computed需要return,而watch不一定要return
5.computed从一开始就进行监听,而watch则不监听第一次加载,如果要watch监听第一次加载,需要配置immediate:true
6.使用场景:computed适用于一个数据受多个数据影响时,watch适用于多个数据受一个数据影响时。
两个重要的小原则:
1.所有被Vue管理的函数,最好写成普通丽数,这样this的指向才是vm 或 组件实例对象。
2.所有不被Vue所管理的函数(定时器的回调函数、ajax的回调函数等、Promise的回调函数),最好写成箭头函数,这样this的指向才是vm 或 组件实例对象。
也来学习一下!