vue.js - 无法在组件中调度 Vuex 模块的操作
问题描述
我是 Vue 和 Vuex 的新手。我有一个关于这个框架的问题,希望能得到一些帮助。
这是我的主要商店代码:
export default new Vuex.Store({
modules: {
loader: LoaderStore
}
})
export default store;
这是我的装载机商店代码:
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
我也在这个网站上搜索了很多主题,但仍然找不到解决方法。我决定在这里发布新问题。请帮助您找到一些问题。
非常感谢,对不起我的英语!
解决方案
加载器模块的代码应该导出默认值。所以替换export default new Vuex.Store({})
为export default {}
.
推荐阅读
- html - 在 Angular 中有条件地设置属性绑定
- python - Discord.py 重写机器人在 heroku 中不起作用,但在本地工作
- node.js - 如何在 NodeJs 中无请求地访问会话数据?
- php - cURL POST - 您如何使用 POSTFIELDS 进行此特定查询
- javascript - TypeORM:如何创建双向的一对多关系?
- jquery - 在 bootstrap4 轮播中,如何使特定幻灯片停留更长时间?
- r - 随机森林预测模型
- highcharts - 区域图表多线渐变颜色
- pytest - 仅针对其他人的代码禁止 pytest 警告
- django - 状态数组未更新