nuxt.js - 在启动时填充 NUXTJS 存储状态内容?

标签 nuxt.js state vuex nuxtjs

我希望当用户启动应用程序时,我的 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(...)
  }
}

关于nuxt.js - 在启动时填充 NUXTJS 存储状态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67202656/

相关文章:

javascript - 具有固定侧边栏布局的 NuxtJs nuxt-link 滚动行为

javascript - 如何在 Nuxt.js (Vue.js) 中使用 vue-infinite-loading

design-patterns - 在haskell中存储一些状态的任务的设计模式是什么

javascript - 运行NUXT.js和Axios时如何避免代码重复?

vue.js - 在使用 NuxtJS 或 NextJS 时,是否可以根据需要在 URL 的末尾添加 .html?

javascript - 如何将 redux 状态返回到初始状态?

nested - redux-persist - 你如何将嵌套状态列入黑名单/白名单

internet-explorer - Vue.js 严格模式下不允许多个属性定义

vue.js - 我如何从 Vuex 的另一个商店调用 setter/getter ?

javascript - 如何将 Vuex 列表中的项目传递给组件?