前言
在之前的博文vue2学习笔记11-深入学习监视属性并与计算属性对比中曾经提到:
1. computed能实现的watch都能实现。
2. watch能实现的,computed不一定能实现,如:在watch中可执行异步任务
对于第二点,其实是不太理解的,为什么在computed中不能执行异步任务呢?watch中执行异步任务又是什么意思呢?
今天,因需求,在computed中调用后台接口,就发现,它未等待接口返回,便自行返回了,然后,我的下一步操作因未拿到需要的参数而失败。
需求
点击某按钮的时候,需要从后台获取配置数据。因为是配置数据,所以一旦获取到,就不再会变化了,也就是说,我获取一次就可以。但是不想放到created里面做初始化,因为用户可能不点击这个按钮,所以不想页面打开的时候向后台发送那么多请求。
错误使用computed
所以,我把这些配置信息放到computed里面:
compu