无法从nuxt中的商店访问vuex-orm $ db变量

时间:2020-01-29 14:01:39

标签: vue.js vuex nuxt.js vuex-orm

在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()
    }

    }

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

在您的store/index.js中,您必须导出state才能激活Vuex存储。将此添加到文件中:

export const state = () => ({})