我正在 Nuxt 中创建一个带有 Vuex 状态管理的应用程序。问题是我想创建带有函数的 js 文件,我将其导入到我的 Vue 文件中。我需要在该文件中访问我的商店。
在functions.js 中,我想使用import store from "@/store"
导入商店,但是store
给了我空对象。当我执行 import store from "@/store/dice.js"
时,这是我想要访问的商店它返回 undefined 并且在控制台中我得到了信息:"export 'default' (imported as '$store') was not found in '~/store/dice'
@/store/index.js
为空。
@/store/dice.js
的结构类似于 Nuxt 教程:
export const state = () => ({
list: []
})
export const mutations = {
add(state, text) {
state.list.push({
text,
done: false
})
},
remove(state, { todo }) {
state.list.splice(state.list.indexOf(todo), 1)
},
toggle(state, todo) {
todo.done = !todo.done
}
}
有人可以帮忙吗?
答案 0 :(得分:1)
位于 store
目录中的 Vuex Store 文件将在构建时被 Nuxt 转换为 store 实例。
因此您无法将其中的任何文件导入到商店外的其他 js
文件中。
你必须解决:
function.js
文件夹添加到您的商店并在那里使用您的函数(在突变、操作等中调用它们...)function.js
中调用函数时,将商店实例作为参数传递,然后您可以使用它。