提问者:小点点

js-如何在服务器端填充应用程序启动时的初始vuex状态?


我需要有“国家”数据从一个api,它不应该被调用的每一个请求。所以我打算在应用程序初始启动(运行一次)时调用这个api,并将api响应分配给vuex状态。因此,状态将只被填充一次,所有到来的请求将从nuxt服务器获得填充状态。我怎么才能做到呢?


共1个答案

匿名用户

Nuxt公开nuxtServerInit,您可以将其定义为顶级存储(仅在顶级!)中的操作,并将在服务器启动时调用一次。

export const actions = {
  async nuxtServerInit({ commit }, { req }) {
    // Here you can commit changes to the state
    // or call some service you have. Example:
    const countries = await api.get('/countries');
    commit('setCountries', { countries });
  }
};