Как передать информацию изнутри объекта внутри состояния - PullRequest
0 голосов
/ 09 апреля 2019

Я использую Nuxtjs, и я хотел бы взять идентификатор, который находится в моем состоянии, и использовать его для нового вызова API.

Мой carInfo имеет IdAddress, который я хотел быиспользуйте для вызова API.

Мой магазин:

    export const state = () => ({
      allCars: [],
      carInfo: [],
      carAddress: []
    });

    export const actions = {
      async fetchAll({ commit }) {
        let cars= await this.$axios.$get(
          "apiaddress"
        );
        commit("setCars", cars);
      },

      async fetchcar({ commit }, id) {
        let car= await this.$axios.$get(
            "apiaddress"
        );
        commit("setcar", car);
      },

      async fetchAddress({ commit }, id) {
        let address = await this.$axios.$get(
          "apiaddress"
        );
        commit("setAddress", address);
      }
    };

1 Ответ

0 голосов
/ 10 апреля 2019

Документация Actions гласит:

Обработчики действий получают объект контекста, который предоставляет тот же набор методов / свойств для экземпляра хранилища, поэтому вы можете вызвать context.commitсовершить мутацию или получить доступ к состоянию и получателям через context.state и context.getters.

И далее говорят, что они часто используют деструктурирование аргумента , поэтомупараметр для действий часто выглядит так: { commit }.

В вашем случае вы можете добавить state к параметрам, и тогда вы сможете получить доступ к своему значению carInfo из состояния.

Например, измените ваше действие fetchAll на:

async fetchAll({ commit, state }) {
  let cars = await this.$axios.$get(
    apistate.carInfo.IdAddress
  );
  commit("setCars", cars);
},
...