vuex的結(jié)構(gòu)是這樣的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(){ } }})父組件創(chuàng)建時(shí)beforeCreate(){
this.$queryProject().then( res => this.$store.commit('pushProjectsToStore',res.data) )
},子組件實(shí)例化時(shí)mounted () {
// 獲取項(xiàng)目信息
this.projects = this.$store.getters.getAllProjs;
this.projectNamesById = this.$store.getters.getProjectNamesById;
},然后現(xiàn)在有個(gè)問(wèn)題,getAllProjs執(zhí)行時(shí)機(jī)是在pushProjectsToStore之前,所以拿不到數(shù)據(jù),請(qǐng)問(wèn)如何解決
2 回答

慕尼黑5688855
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
computed: {
...mapGetters(["getAllProjs","getProjectNamesById"])
},
watch:{
getAllProjs(newVal,oldVal){ console.log('vuex 中上一次的值',oldVal); console.log('vuex 中更新后的值',newVal); }, getProjectNamesById(newVal,oldVal){ }
}
添加回答
舉報(bào)
0/150
提交
取消