Node.js Nodejs扩展Sequelize模型
我正在一个项目中使用Sequelize。这里有一些模型,例如:Node.js Nodejs扩展Sequelize模型,node.js,class,oop,sequelize.js,Node.js,Class,Oop,Sequelize.js,我正在一个项目中使用Sequelize。这里有一些模型,例如: class Agents extends CommonModel { static init(sequelize) { return super.init({ ...super.baseFields, userId: { type: DataTypes.BIGINT, references: User }, ... }, {
class Agents extends CommonModel {
static init(sequelize) {
return super.init({
...super.baseFields,
userId: {
type: DataTypes.BIGINT,
references: User
},
...
}, {
sequelize,
timestamps: true,
paranoid: true
})
}
同样在CommonModel中:
class CommonModel extends Model {
static baseFields = {
createdBy: {
type: DataTypes.INTEGER,
references: {
model: 'Users',
key: 'id'
}
},
...
}
}
现在,问题是,init函数中的sequelize
参数是什么?(我不直接叫它)。什么时候调用init?(虽然没有构造函数)
这是一种特殊的设计模式吗
super
引用父类,并使用super.init()
参数构造它Agent
模型中调用了sequelize
,所以需要参数,对吗?也许类模型
有续集
变量我只是不明白这个参数。任何地方都没有定义
sequelize
参数。(如果它是implements
而不是extend
,那没问题,因为这是策略
设计模式。但在这里,我感到困惑。@Vahid Najafi可能只是一个声明。所以当调用代理类实例时,它可以将sequelize类作为构造函数。我实际上也感到困惑