【发布时间】:2019-07-16 18:19:06
【问题描述】:
我在 Nuxt 中建立了一个站点,并通过 WordPress API 将一组菜单项拉入 Vuex 商店。我目前正在使用即将被弃用的经典模式,因此我想将其更新为此处提到的“模块”模式:https://nuxtjs.org/guide/vuex-store/。我在 store/index.js 中有以下代码:
export const state = () => ({
menuMain: null
});
export const mutations = {
mutateMainMenu(state, data)
{
state.menuMain = data
}
};
import axios from "axios/index";
export const actions = {
async nuxtServerInit ({ commit }) {
const response = await axios.get('http://myapi.com/wp-json/wp/v2/pages')
commit('mutateMainMenu', response.data)
}
};
我希望这是将下面的代码移入“store/menuMain.js”的情况:
import axios from "axios/index";
export const actions = {
async nuxtServerInit ({ commit }) {
const response = await axios.get('http://myapi.com/wp-json/wp/v2/pages')
commit('mutateMainMenu', response.data)
}
};
但是这似乎不起作用。有没有人有任何想法?在任何示例中,我都没有看到在“store/index.js”以外的文件中设置了“actions”对象,所以我想知道这是否是问题所在。
本站使用的Vue版本是2.6.10。
【问题讨论】:
标签: vue.js vuejs2 axios vuex nuxt.js