实施Vuex模块后,我所有的吸气剂和变异体都停止工作

时间:2018-07-25 12:25:10

标签: javascript vue.js vuex

我目前正在实施Vuex,并决定实施模块。

在此之前,一切正常,Vuex毫无问题地管理了状态。

在我阅读的所有教程和观看的视频中,人们,简单实现的模块及其应用始终可以立即运行,无需任何其他配置。

但是,在我的应用程序中,所有调用的变异现在都抛出一个错误,它们无法从未定义中读取。

这是我所拥有的示例配置:https://codesandbox.io/s/4zro5wzjz0

更新:巴斯·范·迪克(Bas van Dijk)的回答非常有价值,但问题实际上有所不同-在codeandbox中,我不允许上载整个应用程序,因此,我无法将其关联正确地。但是为了使这篇文章有价值,我将解释发生了什么。

我试图在模块之​​间进行交互,而不将其导入使用位置,因此,我的一个模块试图从另一个模块操纵值,而实际上并没有该模块。

之所以发生,是因为我不得不分离最初的Vuex对象,该对象本身就是一个很大的对象。对于任何阅读此文章的人来说,一个很好的结论是-始终从规模开始,扩展一个已经分离的配置要比拥有一个整体的,需要手动分离的数据更容易。

1 个答案:

答案 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
  }
});

请参见https://codesandbox.io/s/4zro5wzjz0