gpt4 book ai didi

vue.js - vuex 未知局部突变类型 : updateValue, 全局类型 : app/updateValue. 突变不起作用

转载 作者:行者123 更新时间:2023-12-03 06:38:46 25 4
gpt4 key购买 nike

我想通过操作将更改应用于 vuejs 应用程序中的变量。但是我收到此错误消息 [vuex] unknown local mutation type: updateValue, global type: app/updateValue
这是我的 店铺 文件夹结构:

-store
-modules
-app
-actions.js
-getters.js
-mutations.js
-state.js
-index.js
-actions.js
-getters.js
-mutations.js
-state.js
-index.js

这是我的 ./store/index.js 文件:

import Vue from 'vue'
import Vuex from 'vuex'

import actions from './actions'
import getters from './getters'
import modules from './modules'
import mutations from './mutations'
import state from './state'

Vue.use(Vuex)

const store = new Vuex.Store({
namespaced: true,
actions,
getters,
modules,
mutations,
state
})

export default store

这是我的 ./store/modules/index.js :

const requireModule = require.context('.', true, /\.js$/)
const modules = {}

requireModule.keys().forEach(fileName => {
if (fileName === './index.js') return

// Replace ./ and .js
const path = fileName.replace(/(\.\/|\.js)/g, '')
const [moduleName, imported] = path.split('/')

if (!modules[moduleName]) {
modules[moduleName] = {
namespaced: true
}
}

modules[moduleName][imported] = requireModule(fileName).default
})

export default modules

这是我的 ./store/modules/app/actions.js :

export const updateValue = ({commit}, payload) => {
commit('updateValue', payload)
}

这是我的 ./store/modules/app/getters.js :

export const value = state => {
return state.wruValue;
}

这是我的 ./store/modules/app/mutations.js :

import { set, toggle } from '@/utils/vuex'

export default {
setDrawer: set('drawer'),
setImage: set('image'),
setColor: set('color'),
toggleDrawer: toggle('drawer')
}

export const updateValue = (state, payload) => {
state.wruValue = payload * 12;
}

这是我的 ./store/modules/app/state.js :

export default {
drawer: null,
color: 'green',
wruValues:1,
wruValue: 1,
}

最后这是我的 vue 组件:
<v-btn @click="updateValue(10)">
SHOW
</v-btn>

import { mapActions } from 'vuex';
...mapActions ('app',[
'updateValue'
]),

所以当我点击按钮时,我希望看到 wruValue更改(为了测试目的,我在其他地方打印值),但我收到了上面提到的错误。我的代码有什么问题?

最佳答案

commit('updateValue', payload, {root: true})

但我发现你对命名空间的使用很奇怪。对于我的项目,我不会将 getter、action 等文件分开,而是将任务、项目、公司等分开。但如果它适合你,那很好。好像不是这个问题。如果仍然出现错误,则可能需要将“updateValue”更改为“mutations/updateValue”或其他内容。

关于vue.js - vuex 未知局部突变类型 : updateValue, 全局类型 : app/updateValue. 突变不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57280323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com