无法在组件中分派Vuex模块的动作

时间:2019-06-02 08:29:17

标签: vue.js vue-component vuex vuex-modules

我是Vue和Vuex的新手。我有一个与此框架有关的问题,希望能对您有所帮助。

这是我的主要商店代码:

export default new Vuex.Store({
    modules: {
        loader: LoaderStore
    }
})

export default store;

这是我的Loader商店代码:

export default new Vuex.Store({
    namespaced: true,
    state: () => ({
        shown: false,
    }),
    mutations: {
        showLoader: state => state.shown = true,
        hideLoader: state => state.shown = false,
    },
    actions: {
        showLoader: ({ commit }) => commit('showLoader'),
        hideLoader: ({ commit }) => commit('hideLoader'),
    }
})

最后是我的按钮组件:

<button @click="submit">Show Loader</button>

<script>
export default {
    methods: {
        submit() {
            this.$store.dispatch('loader/showLoader');
        }
    }
}
</script>

如我所愿,单击按钮时,将显示引导加载程序。但是没有,并且控制台日志显示此错误:

  

[vuex]未知的操作类型:loader / showLoader

我也在此站点上搜索了许多主题,但仍然找不到解决的方法。我决定在这里发布新问题。请帮助您找到一些问题。

非常感谢,抱歉我的英语!

1 个答案:

答案 0 :(得分:1)

加载程序模块的代码应导出默认值。因此,将package android.net; … /** * A class representing the IP configuration of the Ethernet network. * * @hide */ @SystemService(Context.ETHERNET_SERVICE) public class EthernetManager { 替换为export default new Vuex.Store({})

更多:https://vuex.vuejs.org/guide/modules.html