在启动时填充 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(...)
}
}
我希望我的 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(...)
}
}