注册模块中的vuex未知突变类型
Posted
技术标签:
【中文标题】注册模块中的vuex未知突变类型【英文标题】:vuex unknown mutation type in registered module 【发布时间】:2018-02-06 14:29:24 【问题描述】:我只是想在 vuex 中创建动态注册模块,但它似乎不起作用。 这是我的商店文件
import Vuex from 'vuex'
import descriptionModule from './module/descriptionModule';
const state: stateModule, getters, mutations = descriptionModule;
const createStore = () =>
return new Vuex.Store(
state:
descriptions: [],
,
mutations:
addDescriptions(state, payload)
state.descriptions.push(state.descriptions.length + 1);
createStore().registerModule(`descriptionModule$payload`,
state: stateModule,
getters,
mutations,
namespaced: true // making our module reusable
);
)
;
export default createStore
这是我要注册的自定义模块
const state = () =>
return description: ''
;
const getters =
description: (state) => state.description
;
const mutations =
updateDescription(state, payloads)
state.description = payloads;
;
export default
state,getters,mutations
然后这是我的自定义方法,它将调用 addDescriptions 突变并从 registerModule 提交 updateDescription
beforeMount()
console.log("hahahaha");
this.$store.commit('addDescriptions', this.id);
,
... more code ....
methods:
onType(editor, content)
console.log(this.$store.state.a);
console.log(this.$store.state);
console.log(this.$store);
this.$store.commit(`descriptionModule$this.id/updateDescription`, content, root: true)
每次调用onType
,我都会在浏览器中收到错误unknown mutation type: descriptionModuleeditor1/updateDescription
。
目前我正在关注这个解决方案link,但它对我不起作用:(
谁能解决这个问题,抱歉,英语不好
【问题讨论】:
【参考方案1】:通过beforeMount()
上的组件/页面调用$store.registerModule()
:
beforeMount()
this.$store.registerModule(`descriptionModule$this.id`,
state: stateModule,
getters,
mutations,
namespaced: true // making our module reusable
);
,
【讨论】:
以上是关于注册模块中的vuex未知突变类型的主要内容,如果未能解决你的问题,请参考以下文章
尝试从 Vuex 模块调度操作不起作用。 [vuex] 未知动作类型