首页 > 解决方案 > 现在调用 Nuxt nuxtServerInit

问题描述

我正在尝试在 Nuxt 中设置 store/index.js,但不明白为什么没有调用 nuxtServerInit。我已经添加了 console.log 来测试它,但它似乎没有工作或输出日志。

import Vuex from 'vuex'
import axios from 'axios'

const createStore = () => {
    return new Vuex.Store({
        state: {
            loadedPosts: []
        },
        mutations: {
            setPosts(state, posts) {
                state.loadedPosts = posts;
            }
        },
        actions: {
            nuxtServerInit(vuexContext, context) {
                console.log('Init works!');

                return axios.get("<firebase.link>")
                    .then(res => {
                        const postsArray = []
                        for (const key in res.data) {
                            postsArray.push({...res.data[key], id: key})
                        }
                        vuexContext.commit('setPosts', postsArray)
                    })
                    .catch(e => context.error(e))
            },
            setPosts(vuexContext, posts) {
                vuexContext.commit('setPosts', posts)
            }
        },
        getters: {
            loadedPosts(state) {
                console.log("Here we go",state.loadedPosts);

                return state.loadedPosts
            }
        }
    })
}

export default createStore

标签: vue.jsvuexnuxt.js

解决方案


解决它!

该应用程序处于水疗模式而不是通用模式。


推荐阅读