访问状态时:未知突变类型

When accessing state: unknown mutation type

我正在尝试从另一个模块更新状态。结构是。

store.js
|
|-- yields.js
|
|--analysis (sub-folder)
          |
          |
          ---actions.js
          |
          ---mutations.js
          |
          ---state.js

所以我按照建议在 actions.js 中使用了它:

export const actions = {
  analysisAction({
    commit,
    rootState
  }, input) {
    commit('stateFetchParamsStart', input); // Commit in this module
    commit('yields/statePRdate', input, {
      root: true
    }); // Commit in another module
  },...

在 yields.js 中添加了一个突变:

const mutations = {
  statePRdate: (state, input) => {
    state.PRdate = input;
  },...

并在计算 属性 中调用它,例如:

computed: {
    start: {
        get() {
                return this.$store.state.analysis.fetchParams.start
            },
            set(value) {this.$store.dispatch('analysisAction', value);
            }
    },...

methods: {
    ...mapActions([
            'otherActions',
            'analysisAction'
        ]),

我也试过命名空间变体,但它给我一个错误。使用此解决方案,state.fetchParams.start 的突变正在工作,但我收到错误:[vuex] unknown mutation type: yields/statePRdate

所以不能调用其他状态的变异

感谢提供解决方案的@Dan。我只需要删除“/yields”以避免混合命名空间和非命名空间语法。