我想将createdAt和updatedAt添加到Loopback4上的每个模型中
找不到名称“MixinTarget”。
导出函数的类型参数'T‘具有或正在使用专用名称'MixinTarget’。
如果我从上面的文档中尝试,就会发生错误。
发布于 2020-05-31 05:02:42
为了解决这个问题,我没有使用混入方法。我在我的模型中添加了以下字段。
@property({
type: 'date',
default: () => new Date(),
postgresql: {
columnName: 'updated_at',
},
})
updatedAt?: Date;它应该能像预期的那样工作
发布于 2020-06-20 13:30:22
必须从@loopback/core导入MixinTaget
import {MixinTarget} from '@loopback/core';
import {Class} from '@loopback/repository';
export function TimeStampMixin<T extends MixinTarget<object>>(baseClass: T) {
return class extends baseClass {
// add a new property `createdAt`
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
public createdAt: Date;
constructor(...args: any[]) {
super(args);
this.createdAt = new Date();
}
printTimeStamp() {
console.log('Instance created at: ' + this.createdAt);
}
};
}进一步阅读
截至撰写本文时,文档尚未更新以反映最新的澄清。
https://stackoverflow.com/questions/61963363
复制相似问题