Публикация запроса Axios с несколькими параметрами в действии vuex - PullRequest
0 голосов
/ 28 ноября 2018

Выборка данных API с помощью axios в действии vuex:

actions: {
login ({commit}, payload) {
  axios.post(globalConfig.TOKEN_URL, {
    payload
  })
    .then((resp) => {
      commit('auth_success', resp.data)
    })
    .catch((err) => {
      console.log(err)
    })
},
}

Метод компонента для отправки данных:

methods: {
  authChatClient () {
    let payload = {
      name: this.clientFio,
      number: this.clientNumber
    }
    this.$store.dispatch('login', payload)
  },
}

Однако это не будет работать, так как полезная нагрузка является объектом,обернутый в объект полезной нагрузки.Можно ли отправить несколько параметров из метода компонента в действие vuex?

Запрос на публикацию выглядит следующим образом: payload: {name: "aaa", number: "111"}

1 Ответ

0 голосов
/ 28 ноября 2018

Vuex разрешает использовать только 1 параметр для действия.Однако, если я правильно понимаю ваш вопрос, вы можете отправить несколько параметров в действие vuex, если они заключены в объект.Пример:

login({commit}, {name, number /*, ...more here*/}) {
    axios.post(globalConfig.TOKEN_URL, {
        name: name,
        number: number,
        /* more parameters here */
    })
    /* ... */
}

И вы можете позвонить с помощью:

methods: {
  authChatClient () {
    let payload = {
      name: this.clientFio,
      number: this.clientNumber,
      /* more parameters */
    }
    this.$store.dispatch('login', payload)
  },
}
...