为了账号安全,请及时绑定邮箱和手机立即绑定

vuex中能否在getter方法中异步调用Axios取值?

vuex中能否在getter方法中异步调用Axios取值?

慕仙森 2018-09-03 10:21:52
先说一下我对vuex的理解吧,我认为应该把多个页面或组件都会用到的数据放到vuex中,避免每个页面都去加载接口数据,特别是一些字典表配置等,很少变化的内容,我的理解对吗?假如有多个页面需要用到同一组数据,这组数据来自后台接口,需要用axios获取,那么vuex里要求显式的调用commit执行设值方法,我应该在每个页面都调用一个取值的异步Action吗?这样的话,其实每个页面都去调用接口,等于没有使用Vuex啊?我希望这样,在vuex中设置state,设置action调用axios取值并调用mutaction赋给state,而在多个用到数据的页面,直接用getter方法取值,在这个getter方法中,先判断该数据是否为空,为空则调用actions取值赋值,state有了值再返回给调用的页面,即类似于缓存的用法,有则直接返回,无则先获取再返回,这个怎么实现呢?getter方法似乎都是直接返回值,如果其中还要处理异步,可以实现吗?
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

最好不要在Getters里面处理异步请求,异步请求请放在actions里面,Getters你可以理解为vue的computed计算属性,是会有缓存的。
你可以考虑用watch方法

查看完整回答
反对 回复 2018-09-09
  • 1 回答
  • 0 关注
  • 1083 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信