App.vue
问题:此处需要的username变量,从NavHeader组件中拿,进入项目时是先加载App.vue组件,再加载NavHeader组件,接口请求有延时,所以此时可能拿不到username值
export default {
methods:{
getUser(){
this.axios.get('/user').then((res)=>{
this.$store.dispatch('saveUserName',res.username);
})
},
}
}
NavHeader.vue
export default {
data() {
return {
username: this.$store.state.username,
};
},
}
解决方法:加载NavHeader组件后,当变量已返回,此时变量发生变化了会重新再计算一次,修改如下
computed:{
username(){
return this.$store.state.username;
}
},
网友评论