0

我有以下模型:

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

export class User extends Model {
    static entity = 'users'

    static fields () {
        return {
            id: this.attr(null),
            name: this.attr('')
        }
    }
}

当我尝试这样做时:

User.insert({
    data: { id: 1, name: 'John' }
})

我收到以下错误:

Uncaught (in promise) TypeError: Class constructor User cannot be invoked without 'new'

知道有什么问题吗?这段代码来自文档,所以我有点困惑。

4

1 回答 1

0

正如我所看到的,您在应用程序开始时缺少模型在数据库中的注册。

您必须使用相应的插件示例来实现您的 vuex 存储:

import Vue from 'vue'
import Vuex from 'vuex'
import VuexORM from '@vuex-orm/core'
import User from '@/models/User'
import Post from '@/models/Post'

Vue.use(Vuex)

// Create a new instance of Database.
const database = new VuexORM.Database()

// Register Models to Database.
database.register(User)
database.register(Post)

// Create Vuex Store and register database through Vuex ORM.
const store = new Vuex.Store({
  plugins: [VuexORM.install(database)]
})

export default store

您现在在这方面有很好的文档

希望对你有帮助,问候

于 2020-03-21T14:17:47.207 回答