无法读取未定义nuxt.js vuex的属性'$ axios'

时间:2019-09-17 03:42:58

标签: vuex nuxt.js nuxt

我在我的代码库中偶然发现了这个错误,并试图查看是否有人可以修复它。

以下是我的listings / actions.js

export const fetchFeaturedListings = ({ commit }) => {
  this.$axios.get("/featured").then(response => {
    console.log(response.data.data);
    commit("listings/setFeaturedListings", response.data.data);
  });
};

我经常遇到以下错误。

无法读取未定义的属性'$ axios'

我到处搜索,但仍然找不到答案。希望有人能帮忙。

3 个答案:

答案 0 :(得分:2)

您正在使用箭头功能,这意味着this来自外部作用域。如果该外部作用域中不存在$axios,这就是为什么您看到此错误的原因。

答案 1 :(得分:1)

对于箭头功能,vuex无法设置“ this”。尝试使用标准功能。

export const fetchFeaturedListings = function({ commit }){
  this.$axios.get("/featured").then(response => {
    console.log(response.data.data);
    commit("listings/setFeaturedListings", response.data.data);
  });
};

答案 2 :(得分:0)

就像jedmao所说的,您访问的是错误的this。建议您仅导入axios并使用它。