如何从状态内的对象内部传递信息

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

我正在使用Nuxtjs,我想获取一个属于我的状态的id并使用它来对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);
      }
    };
vuex nuxt
1个回答
0
投票

Actions documentation说:

操作处理程序接收一个上下文对象,该对象在商店实例上公开同一组方法/属性,因此您可以调用context.commit来提交变异,或者通过context.statecontext.getters访问状态和getter。

然后它继续说他们经常使用argument destructuring这就是为什么行动的参数通常看起来像这样:{ commit }

在您的情况下,您可以将state添加到参数,然后您应该能够从状态访问您的carInfo值。

例如,将您的fetchAll操作更改为:

async fetchAll({ commit, state }) {
  let cars = await this.$axios.$get(
    apistate.carInfo.IdAddress
  );
  commit("setCars", cars);
},
© www.soinside.com 2019 - 2024. All rights reserved.