下面有文字补充,情况是这么个情况:
// componentA.vue
...
methods: {
handleEventA (){
this.$store.dispatch('onEventA')
}
}
// store/index.js
actions: {
...
onEventA: ({ commit }) => {
asyncHandler()
.then(res => {
commit('afterEvnetA', res)
})
}
},
mutations: {
...
afterEventA: (state, res) => {
// 这儿需要用到Message组件输出res信息
// 可是在这儿,组件还没注册,要等到main.js中才注册
// 那么,我在这儿怎么才能用上Message组件呢?
// 如果说在state中定义一个全局Message状态,倒也能用,就是感觉太不灵活了。。。
}
}
在vuex store
的mutations
中,需要调用Message组件
,但是Message组件
在main.js
中才注册,有什么办法能在vuex store
的mutations
中灵活使用组件吗?
看你代码意思, 就是在组件 a 中去做一个异步, 为什么不直接把调用接口直接在 action 中 return 出来... 页面中调用的时候不就能获取到需要的 res.message 了吗... 为什么非得处理成在 mutations 中去调用Message...