1

将 nuxtjs 与 vuexorm 和 vuexorm-axios 插件一起使用。

/pages/index.vue

computed: {
  users() {
 // this works as expected
  return User.all()
  }
    }

插件/vuex-orm-axios.js

import { Model } from '@vuex-orm/core'

export default ({ $axios }) => {
  Model.setAxios($axios)
}

存储/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文档中,它说总是从注入的数据库实例中获取模型以用于 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()
    }

    }

我在这里做错了什么?

4

1 回答 1

0

在您store/index.js必须导出state以激活 Vuex 商店。将此添加到文件中:

export const state = () => ({})
于 2020-11-04T20:12:19.080 回答