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

vue根组件mounted的时候异步请求得到全局参数用于字段翻译,存入store,子组件刷新有时取

vue根组件mounted的时候异步请求得到全局参数用于字段翻译,存入store,子组件刷新有时取

UYOU 2019-02-26 17:20:46
项目使用vue,一些字段需要翻译,后台给了一个接口,用于获取字典。我在根组件mounted的时候发请求,store是这样的:然后在子组件取参数现在问题来了,如果从其他页面进入这个页面,getParams()是似乎总是可以取到参数,但是如果在当前页面刷新,就有可能无法取到参数,这是dic还是{}。很显然这是一个异步的问题。想到一个比较稳妥的解决方案,写一个action,先判断state里面的dictionary有没有,如果没有就去发个请求,返回promise,在then里面写之后的逻辑。每次需要翻译的时候就去dispatch这个action。但是这个项目几乎每个页面都需要这个翻译的参数,有没有办法只请求一次,不用每次都去使用这个action?目前的解决方案是用延时mounted(){    setTimeout(() => {     this.getParams();   }, 1000);  }用了之后好像再没遇到过参数获取不到的问题了。但是这种做法并不严谨。有没有更稳妥的做法?
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

查看完整回答
反对 回复 2019-03-07
  • 1 回答
  • 0 关注
  • 1470 浏览
慕课专栏
更多

添加回答

举报

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