我正在VueX存储中编写一种方法,以将转换为json的对象上传到Firebase。在行动中的vuex存储中,我创建了一个名为scheduleTickets(purchase)的方法,但是在这些方法中,我无法访问购买对象中的值。但是,如果我承诺一个突变函数并将对象发送给它,则可以访问它们,但不能从操作中访问它们。我在这里做错了吗?
async scheduleTickets(purchase){
let documents = JSON.stringify(purchase)
for(let document of documents){
console.log(document)
}
}
来自文档https://vuex.vuejs.org/guide/actions.html
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment (state) {
state.count++
}
},
actions: {
increment (context) {
context.commit('increment')
}
}
})
您应该至少有2个参数:context
和第二个-payload
。对此重写您的方法:
scheduleTickets(context, purchase){
let documents = JSON.stringify(purchase)
for(let document of documents){
console.log(document)
}
}
您可以像这样发送它:
// dispatch with a payload
store.dispatch('scheduleTickets', purchase)