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之前,所以拿不到数据,请问如何解决
ABOUTYOU