在vuexorm和vuexorm-axios插件中使用nuxtjs。
/pages/index.vue
computed: {
users() {
// this works as expected
return User.all()
}
}
plugins / vuex-orm-axios.js
import { Model } from '@vuex-orm/core'
export default ({ $axios }) => {
Model.setAxios($axios)
}
store / index.js
import VuexORM from '@vuex-orm/core'
import VuexORMAxios from '@vuex-orm/plugin-axios'
import User from '@/models/user'
VuexORM.use(VuexORMAxios)
// Create a new database instance.
const database = new VuexORM.Database()
// Register Models to the database.
database.register(User)
export const plugins = [
VuexORM.install(database)
]
所有作品之上。但是在vuexorm docs中,它表示始终从nuxt / ssr应用程序的注入数据库实例中获取模型。
但是,如果我尝试从$db
访问store
变量,则将无法正常工作,因为存储区中没有$ db变量。
/pages/index.vue
computed: {
users() {
// this wont work as $db is undefined
User () {
return this.$store.$db().model('users')
},
users () {
return this.User.all()
}
}
我在做什么错了?
答案 0 :(得分:0)
在您的store/index.js
中,您必须导出state
才能激活Vuex存储。将此添加到文件中:
export const state = () => ({})