我可以从 vuex 调用 storyapi 吗?
Can I call storyapi from vuex?
我正在使用 storyblok-nuxt 模块。我将它插入 nuxt.cofig.js
,当我在 asyncData 方法中直接调用它时,它在页面中工作正常:
asyncData({ app }) {
return app.$storyapi.get("cdn/stories/articles", {
version: "draft"
})
为了从 vuex 中调用它,我正在导入它:
import storyapi from 'storyapi'
但是Nuxt给我一个错误:
Cannot find module 'storyapi'
我可以在 vuex 中使用这个模块吗?如果可以,有什么解决方案?
在 Nuxt 中使用 storyapi
非常简单。在您的 asyncData 中,您可以像这样发送您的操作:
asyncData ({ store }) {
store.dispatch('loadSettings', {version: "draft"})
}
并且在您的商店操作中,您可以直接前往 this.$storyapi
。无需导入任何东西。 Nuxt 为您搞定一切:
export const actions = {
loadSettings({commit}, context) {
return this.$storyapi.get("cdn/stories/articles", {
version: context.version
}).then((res) => {
// execute your action and set data
commit('setSettings', res.data)
})
}
}
更多信息:
我正在使用 storyblok-nuxt 模块。我将它插入 nuxt.cofig.js
,当我在 asyncData 方法中直接调用它时,它在页面中工作正常:
asyncData({ app }) {
return app.$storyapi.get("cdn/stories/articles", {
version: "draft"
})
为了从 vuex 中调用它,我正在导入它:
import storyapi from 'storyapi'
但是Nuxt给我一个错误:
Cannot find module 'storyapi'
我可以在 vuex 中使用这个模块吗?如果可以,有什么解决方案?
在 Nuxt 中使用 storyapi
非常简单。在您的 asyncData 中,您可以像这样发送您的操作:
asyncData ({ store }) {
store.dispatch('loadSettings', {version: "draft"})
}
并且在您的商店操作中,您可以直接前往 this.$storyapi
。无需导入任何东西。 Nuxt 为您搞定一切:
export const actions = {
loadSettings({commit}, context) {
return this.$storyapi.get("cdn/stories/articles", {
version: context.version
}).then((res) => {
// execute your action and set data
commit('setSettings', res.data)
})
}
}
更多信息: