vuex actions传值问题

vue版本2.2.2, vue版本2.2.1

// actions代码
const actions = {
    updateUser ({ commit }, { username }) {
        console.log(arguments)
        commit(types.UPDATE_USER, { username })
    },
}
// 组件中调用actions
this.$store.dispatch({
    type: 'updateUser',
    username: 'hhhh'
})

实际运行,发现actions.updateUser方法接受到三个参数,第三个是undefined

报错信息:Uncaught Error: [vuex] Expects string as the type, but found undefined.

why?

阅读 15.1k
2 个回答

{username} 应该没有括号吧 。{}里好像包裹的是接收过来的context对象里的内容,如commit,state,getters

updateUser ({ commit }, username){
    // ...
}

问题解决了,有个地方写错了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题