vue.js - vuex 未知本地变异类型:updateValue,全局类型:app/updateValue。突变不起作用
问题描述
我想通过操作将突变应用于我的 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”或其他内容。
推荐阅读
- sql - SQL 和累积投注中的前 5 个值
- elasticsearch - 在 elasticsearch/kibana 脚本字段中将 IP(字符串)转换为 long
- angular - Angular - 未捕获的错误:无法解析 HomeComponent 的所有参数:(?,?,?,?)
- c++ - 使用指针的二次方程问题
- c++ - 如何在函数(C++,Visual Studio 2017)中创建带有函数参数的线程?
- python - 在 Pandas 列中将字符串转换为 int
- ios - 使用 SpriteKit 定位精灵的最佳实践
- javascript - 将 Javascript 数组输出到 DIV
- logging - 将 HaProxy 日志数据发送到 Graylog
- sockets - Log4cplus- SocketAppender 多久打开和关闭一次套接字