繁体   English   中英

Nuxt.js Vuex 模块未按预期工作

[英]Nuxt.js Vuex module not working as expected

我在模块中使用 Nuxt 的 Vuex 时遇到问题。

事实证明, state正在被声明并出现在 Vuex 中,动作被触发,但mutation改变了state实例,但不提交更改甚至不触发事件,因为它没有出现在 Vuex devtools 中控制台,在 Vuex 模块代码下方。

注意:在console.log()中都打印状态,在第一个中,空的,因为它被声明,在第二个中,改变的状态,但变化并没有真正反映在 Vuex 中。

 export const strict = false export const state = () => ({ address: {} }) export const mutations = { setShopAddress(state, address) { console.log(state) state.address = address console.log(state) } } export const actions = { getAddress({ commit }) { this.$axios .get('/general/address') .then((response) => { commit('setShopAddress', response.data) }) .catch((e) => console.error(e)) }, setAddress(vuexContext, address) { vuexContext.commit('setShopAddress', address) } } export const getters = { getShopAddress(state) { return state.address } }

几个小时后,多亏了 Telegram 上的一组 Nuxt,我才能够找到解决方案,我只需要在 nuxtServerInit 上放置一个 async 并在号召性用语上放置一个 await。

代码如下:

 async nuxtServerInit({ dispatch }) { await dispatch('module/action') },

希望我的回答能帮助到更多人

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM