vueX中的行动访问对象值

问题描述 投票:0回答:1

我正在VueX存储中编写一种方法,以将转换为json的对象上传到Firebase。在行动中的vuex存储中,我创建了一个名为scheduleTickets(purchase)的方法,但是在这些方法中,我无法访问购买对象中的值。但是,如果我承诺一个突变函数并将对象发送给它,则可以访问它们,但不能从操作中访问它们。我在这里做错了吗?

async scheduleTickets(purchase){
      let documents = JSON.stringify(purchase)
      for(let document of documents){
        console.log(document)
      }
    }
vue.js vuex vue-cli
1个回答
1
投票

来自文档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)
© www.soinside.com 2019 - 2024. All rights reserved.