类中的Typescript方法重写引发错误 问题
我想使用TypeORM构建数据库模型,但我不知道为什么它不允许覆盖类中的Typescript方法重写引发错误 问题,typescript,class,overriding,typeorm,Typescript,Class,Overriding,Typeorm,我想使用TypeORM构建数据库模型,但我不知道为什么它不允许覆盖EnumEntity中的ToClient方法 RootEntity中的所有道具都能正常工作,但是enumtentity中的ToClient不起作用。(ts2416错误) ToClient用于隐藏某些数据列,如'id' 代码 //RootEntity 导出接口可用性{ 身份证号码 创建时间:日期 更新日期:年月日 删除时间:日期 } 导出类型Trotenty=省略 导出抽象类RootEntity实现IRootEntity{ @Pri
EnumEntity
中的ToClient
方法
RootEntity
中的所有道具都能正常工作,但是enumtentity
中的ToClient
不起作用。(ts2416错误)
ToClient
用于隐藏某些数据列,如'id'
代码
//RootEntity
导出接口可用性{
身份证号码
创建时间:日期
更新日期:年月日
删除时间:日期
}
导出类型Trotenty=省略
导出抽象类RootEntity实现IRootEntity{
@PrimaryGeneratedColumn()
身份证号码
@CreateDateColumn()
创建时间:日期
@UpdateDateColumn({onUpdate:'CURRENT_TIMESTAMP(6)})
更新时间:日期
@DeleteDateColumn()
已在!处删除:日期
ToClient():Trotenty{
常量值:IRootEntity={…this}
返回值
}
}
//枚举实体
导出接口IEnumEntity扩展了IRootEntity{
标题:字符串
}
导出类型TEnumEntity=拾取
导出抽象类EnumEntity扩展RootEntity{
@第()列
标题!:字符串
//抛出错误ts(2416)
ToClient():TEnumEntity{
常量值:IEnumEntity={…this}
返回值
}
}
是的,子类提供的与它的超类不兼容。这违反了子类型,语言对此发出了警告
// RootEntity
export interface IRootEntity {
id: number
created_at: Date
updated_at: Date
deleted_at: Date
}
export type TRootEntity = Omit<IRootEntity, 'id' | 'deleted_at'>
export abstract class RootEntity implements IRootEntity {
@PrimaryGeneratedColumn()
id!: number
@CreateDateColumn()
created_at!: Date
@UpdateDateColumn({ onUpdate: 'CURRENT_TIMESTAMP(6)' })
updated_at!: Date
@DeleteDateColumn()
deleted_at!: Date
ToClient(): TRootEntity {
const values: IRootEntity = { ...this }
return values
}
}
// EnumEntity
export interface IEnumEntity extends IRootEntity {
title: string
}
export type TEnumEntity = Pick<IEnumEntity, 'id' | 'title'>
export abstract class EnumEntity extends RootEntity {
@Column()
title!: string
// Throws error ts(2416)
ToClient(): TEnumEntity {
const values: IEnumEntity = { ...this }
return values
}
}