我目前正在实施Vuex,并决定实施模块。
在此之前,一切正常,Vuex毫无问题地管理了状态。
在我阅读的所有教程和观看的视频中,人们,简单实现的模块及其应用始终可以立即运行,无需任何其他配置。
但是,在我的应用程序中,所有调用的变异现在都抛出一个错误,它们无法从未定义中读取。
这是我所拥有的示例配置:https://codesandbox.io/s/4zro5wzjz0
更新:巴斯·范·迪克(Bas van Dijk)的回答非常有价值,但问题实际上有所不同-在codeandbox中,我不允许上载整个应用程序,因此,我无法将其关联正确地。但是为了使这篇文章有价值,我将解释发生了什么。
我试图在模块之间进行交互,而不将其导入使用位置,因此,我的一个模块试图从另一个模块操纵值,而实际上并没有该模块。
之所以发生,是因为我不得不分离最初的Vuex对象,该对象本身就是一个很大的对象。对于任何阅读此文章的人来说,一个很好的结论是-始终从规模开始,扩展一个已经分离的配置要比拥有一个整体的,需要手动分离的数据更容易。
答案 0 :(得分:1)
您没有在main.js中导入商店。因此它是未定义的。
import store from "./store";
new Vue({
store,
el: "#app",
components: { App },
template: "<App/>"
});
您声明还错过了stakeControls
对象
const state = {
stakeControls: {
enabled: true
},
stake: {
value: 10
}
};
我还将您的商店出口更改为
export default new Vuex.Store({
modules: {
Stake
}
});