将 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()
}
}
我在这里做错了什么?