【问题标题】:nuxtServerInit is being executed everytime navigation happens每次导航发生时都会执行 nuxtServerInit
【发布时间】:2018-06-06 12:59:12
【问题描述】:

我假设 nuxtServerInit 在启动时被调用一次,当 SSR 发生时。 但是我意识到每次在 webapp 中导航时都会执行 nuxtServerInit。

我是否误解了 nuxtServerInit 的使用?

~/pages

控制台日志,显示每次点击时都会调用nuxtServerInit:

nuxt:render 渲染 url /view/list +21m axios 启动 axios 完成 nuxt:render 数据获取 /view/list: 444ms +0ms nuxt:render 渲染url /view/status +10s axios 启动 axios 完成 nuxt:render 数据获取 /view/status: 86ms +9s nuxt:render 渲染 url /view/list +4s axios 启动 axios 完成 nuxt:render 数据获取 /view/list: 98ms +4s nuxt:render 渲染 url / +3s axios 启动 axios 完成 nuxt:render 取数据 /: 106ms +3s nuxt:render 渲染 url /view/status +4s axios 启动 axios 完成 nuxt:render 数据获取/view/status: 139ms +4s

~/store/index.js

import Vuex from 'vuex';

const createStore = () => {
    return new Vuex.Store({
        state: {
            myAvailableViews: [],
            isViewsInitiated: false
        },
        mutations: {
            setAvailableViews(state, views) {
                state.myAvailableViews = views;
            },
            setViewsInit(state, isInitialized) {
                state.isViewsInitiated = isInitialized;
            }
        },
        actions: {
            setAvailableViewsAction({ commit }) {
                commit('setAvailableViews', payload);
            },
            async nuxtServerInit({ commit }, { req }) {

                console.log('axios starting');
                let list = await this.$axios.get('/my/rest/api/uri');
                console.log('axios done');

            }
        },
        getters: {
            getAvailableViews(state) {
                return state.myAvailableViews;
            },
            getViewsInitiated(state) {
                return state.isViewsInitiated;
            }
        }
    });
}

export default createStore;

【问题讨论】:

    标签: vue.js vuex


    【解决方案1】:

    我实际上犯了一个菜鸟错误,使用普通的 html <a> 锚标签而不是 <nuxt-link>,这样页面总是完全得到服务器端呈现 一旦我执行了替换,一切正常。

    【讨论】:

      猜你喜欢
      • 2018-07-12
      • 2015-01-25
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      相关资源
      最近更新 更多