我正在使用Vuex构建Vue应用程序,但我无法使用以下代码(为简洁而编辑,受this blog post启发)。
// File: views/Board.vue
export default {
methods: {
updateProp (prop, value) {
console.log(prop, value) // Outputs prop and value
this.$store.commit('board/updateProp', {
[prop]: value
})
}
},
// ...
}
在我的(命名)Vuex模块中:
// File: vuex/modules/board.js
export default {
mutations: {
updateProp (state, { prop, value }) {
console.log(prop, value) // Outputs 'undefined undefined'
}
},
// ...
}
因为import { something } from 'somewhere'
工作正常,我倾向于相信对象解构有效。我只是为什么我的代码没有受到影响。
我还创建了一个带有以下内容的.babelrc
文件,并安装了相应的插件和预设,但无济于事。
{
"plugins": [
"transform-es2015-destructuring",
"transform-object-rest-spread"
],
"presets": [
["es2015", { "modules": false }]
]
}
非常感谢。
答案 0 :(得分:1)
这可能不是答案,但很难适应评论。我不确定为什么value
和undefined
都是prop
,但这不是解构的工作方式(它不解包对象的键和值)。只有在使用具有value
密钥和this.$store.commit('board/updateProp', { prop, value })
密钥的对象调用它时,当前设置才有效:
{{1}}