methods,watch 和 computed 都以函数为基础,他们的不同有以下几个方点:
1.触发条件不同:
computed 与 watch 都是以 Vue 的依赖为基础,当所依赖项的数据发生变化的时候会(自动)触发相关的函数去实现数据的变动
methods 里面是用来定义函数的,需要手动执行 触发
2,使用场景不同:
computed:
vue的计算属性,支持缓存,只有依赖数据发生改变,才会重新进行计算,不支持异步,当computed内有异步操作时,无法监听数据的变化
应用场景:商品购物车的结算 过滤某些商品数据
watch:
vue的侦听器,不支持缓存,数据改变,直接会触发相应的操作,支持异步;
应用场景:网络请求,模糊查询,浏览器自适应,监控路由对象
虽然他们都是对数据进行监听,但是他们擅长的领域不一样 ,computed 是通过几个数据的变化,来影响一个数据,而 watch,则是可以一个数据的变化,去影响多个数据 。