У меня есть три класса: пользователь, учетная запись и модель.Пользователь и Учетная запись расширяют класс Model.
User.js:
import Model from '@/classes/Model'
export default class User extends Model {
constructor(data) {
super(data)
}
}
Account.js:
import Model from '@/classes/Model'
export default class Account extends Model {
constructor(data) {
super(data)
}
}
И Model.js:
import Account from '@/classes/Account'
import User from '@/classes/User'
export default class Model {
static _classesMapping = {
Account,
User
}
constructor(data) {
...
}
static create(models) {
return new Model._classesMapping[this.name](models)
}
}
Я хочу создать экземпляры Account и User из статического метода create в Model следующим образом: Account.create ()
Тем не менее, я получаю эту ошибку при компиляции: «Супер-выражение должно быть либо нулевым, либофункция "из-за проблемы циркулярной зависимости.Я не знаю, как решить эту проблему, не передавая класс в качестве аргумента методу Model.create, как это, что я нахожу уродливым
Account.create(data, Account)