在启动时填充 NUXTJS 存储状态内容?

Populate NUXTJS Store state content on startup?

我希望我的 Nuxtjs 存储状态(ssr: false,所以没有 nuxtServerInit)在用户启动应用程序时包含数据。

目标是在启动时进行日期计算并将答案存储在 nuxtjs 存储中,因此当我需要此信息时我不需要每次都重新计算(此信息将在许多页面上使用)。

这可以做到吗?

您可以编写一个小插件,它会在启动时 运行 并可以为您调用存储操作,类似于 nuxtServerInit

// ~/plugins/nuxtClientInit.js

export default async function (context) {
  await context.store.dispatch('nuxtClientInit', context)
}

然后只需将其添加到您的 nuxt.config.js

...

plugins: [
  { src: '~/plugins/nuxtClientInit.js', mode: 'client' }
],

...

现在 nuxtClientInit 存储操作将在启动时调用,您甚至可以访问上下文对象。


actions: {
  nuxtClientInit ({ commit }, context) {
    // commit(...)
  }
}