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')
}
}
已安装 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')
}
}