vuex的结构是这样的
export default new Vuex.Store({
state:{
projects:[],
},
getters:{
getAllProjs(state){
return state.projects;
},
getProjectNamesById(state){
return state.projects.map( proj => proj.name )
}
},
mutations:{
pushProjectsToStore(state,data){
state.projects = data;
},
},
actions:{
pushProjectsToStore(){
}
}
})
父组件创建时
beforeCreate(){
this.$queryProject().then( res => this.$store.commit('pushProjectsToStore',res.data) )
},子组件实例化时
mounted () {
// 获取项目信息
this.projects = this.$store.getters.getAllProjs;
this.projectNamesById = this.$store.getters.getProjectNamesById;
},然后现在有个问题,getAllProjs执行时机是在pushProjectsToStore之前,所以拿不到数据,请问如何解决
慕尼黑5688855