Laravel + Vuex:对象/参数解构不起作用

时间:2017-08-18 19:50:54

标签: javascript ecmascript-6 babel vuex laravel-mix

我正在使用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 }]
    ]
}

非常感谢。

1 个答案:

答案 0 :(得分:1)

这可能不是答案,但很难适应评论。我不确定为什么valueundefined都是prop,但这不是解构的工作方式(它不解包对象的键和值)。只有在使用具有value密钥和this.$store.commit('board/updateProp', { prop, value }) 密钥的对象调用它时,当前设置才有效:

{{1}}