a.vue中有个http请求,响应之后this.$store.commit('userInfo', userInfo);,在b.vue页面通过computed获取更新之后的数据userInfo(){ return this.$store.state.userInfo
},b.vue页面中通是有个方法需要获取此数据:this.userInfo,当页面刷新的刷新的时候,a.vue页面中的页面请求可能还没有完成,b.vue 页面就要获取 数据了,导致出现undefined问题;请问这个问题应该怎么解决???
2 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
不用想这么复杂,没有获取到this.userInfo
前加个loading状态,比如通过其中一个存在参数判断
computed: { isLoading(){ return this.userInfo.token ? true : false; } }, watch: { isLoading: { handler: function(val){ if(val){// 已获取 console.log("start...") } }, immediate: true } }
等获取到再执行你的代码
添加回答
举报
0/150
提交
取消