Почему `this. $ Ax ios. $ Get (...)` не работает в магазине nuxt. js? - PullRequest
0 голосов
/ 01 апреля 2020

Я начал работать с nuxt.js после использования vue в течение довольно долгого времени, но даже после того, как следовал nuxt. js документация по vuex и ax ios Я не понимаю, почему this.$axios.$get(...) не будет работать. Это то, что у меня есть

/* ~/store/products.js */

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

export const mutations = {
  SET_PRODUCTS(state, products) {
    state.products = products
  }
}

export const actions = {
  getProducts({ commit }) {
    this.$axios.$get("merchandise.json").then(res => {
      commit("SET_PRODUCTS", res)
    })
  }
}

export const getters = {}
/* ~/pages/index.vue */
...
<script>
import { mapGetters, mapMutations, mapActions } from "vuex"
import Card from "@/components/Card.vue"

export default {
  components: {
    Card
  },
  methods: {
    ...mapActions([ "getProducts" ])
  },
  computed: {
    products() {
      return this.$store.state.products.products
    }
  }
}
</script>

, и вот так выглядит моя конфигурация

/* nuxt.config.js */

...
  modules: [
    "@nuxtjs/axios",
    "@nuxtjs/dotenv",
    ...
  ],

  axios: {
    baseURL: process.env.BASE_URL
  },
...
/* .env */

BASE_URL = http://localhost:3000/data/

Если я сделаю this.$axios.$get("merchandise.json") в других файлах, как в ~/pages/index.vue это работает, но не работает в магазине. В чем может быть проблема?

...