Vuex - 传递给操作的参数丢失。替换为当前状态
Posted
技术标签:
【中文标题】Vuex - 传递给操作的参数丢失。替换为当前状态【英文标题】:Vuex - parameter passed to action gets lost. Replaced with current state 【发布时间】:2019-07-16 02:47:56 【问题描述】:因此,在单击按钮时,我想创建一个对象并将其传递给我的操作。 不幸的是,即使是测试变量也不起作用。 在组件中调用操作:
submitFeedback()
var jsonMessage = 'test message'
console.log('test in menu: '+ jsonMessage)
this [UC.SET_USER_FEEDBACK](jsonMessage)
console.log('message sent')
执行动作:
async [UC.SET_USER_FEEDBACK](feedbackFormData)
console.log('test in action:' + feedbackFormData)
控制台中的结果:
test in menu: test message
test in action:[object Object]
message sent
该组件是否可能超出了 Vuex 的范围?它有来自 vuex 的 mapGetters、mapActions 和 mapState。
【问题讨论】:
【参考方案1】:vuex action的第一个参数是context。 您应该传递额外的数据作为第二个参数。
async [UC.SET_USER_FEEDBACK](context, feedbackFormData)
console.log('test in action:' + feedbackFormData)
【讨论】:
以上是关于Vuex - 传递给操作的参数丢失。替换为当前状态的主要内容,如果未能解决你的问题,请参考以下文章
将 Getter 传递给 Vuex Action 返回 null