访问状态时:未知突变类型
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”以避免混合命名空间和非命名空间语法。
我正在尝试从另一个模块更新状态。结构是。
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”以避免混合命名空间和非命名空间语法。