无法从服务器获取数据到NuxtJS商店

时间:2020-06-09 15:56:15

标签: vue.js vuejs2 vuex nuxt.js nuxtjs

这是我的代码:

export const state = () => ({
  products: []
});

export const getters = {
  getProducts: state => {
    return state.products;
  }
};
export const mutations = {
  SET_IP: (state, payload) => {
    state.products = payload;
  }
};

export const actions = () => ({
  async getIP({ commit }) {
    const ip = await this.$axios.$get("http://localhost:8080/products");
    commit("SET_IP", ip);
  }
});

服务器运行良好,但是我无法将数据存储到存储中

1 个答案:

答案 0 :(得分:0)

首先,我强烈建议您将动作和突变重命名为getProductsSET_PRODUCTS而不是ip。另外,请确保您在操作中更改了变量名。尽管这不会更改任何功能,但可以使您的代码更易于阅读。

第二,也许在操作中定义console.log(ip)之后立即添加一个const,看看是否在其中获取了想要的数据。在大多数情况下,您将要为变量分配ip.data

最后,请确保您在代码中的某个位置调用了该操作。 您应该这样:

this.$store.dispatch('getIP'); // Using your current name
this.$store.dispatch('getProducts'); // Using my recommended name