Nuxt vuex 商店没有收到 axios 请求

Nuxt vuex store not getting axios request

已安装 Nuxt axios 模块并在 index.js 文件中工作,但是当我清空 index.js 文件并分离到它自己的模块文件 (team.js) 中时,它不起作用。

Team.js

export const state = () => ({
  teams: {},
})

export const mutations = {
  SET_TEAMS (state, value) {
    state.teams = value
  }
}

export const actions = {
async nuxtServerInit ({ commit }) {
  let {data} = await this.$axios.$get(`team`)
  commit('SET_TEAMS', data)
}

在 Vue 开发工具中它显示为 - 团队:对象 团队:对象(空) 拥有 Vuex 模块的正确方法是什么?我看到的文档和其他项目应该可以工作

根据我的评论和来源建议,您的 store/teams.js 文件可以拥有自己的 nuxtServerInit;但是您可以随意命名它,因为您需要从主模块 (store/index.js).

中显式分派它

store/teams.js

export const actions = {
  async nuxtServerInit({ commit }) {
    let {data} = await this.$axios.$get(`team`)
      commit('SET_TEAMS', data)
    }
  }
}

store/index.js

export const actions = {
  async nuxtServerInit({ dispatch }) {
    dispatch('teams/nuxtServerInit')
  }
}