从类中排除未定义或null属性。这是真实的本质,但我需要一个可以忽略这个的装饰师
import {Expose, plainToClass} from "class-transformer";
class User {
@Expose() id: number;
@Expose() firstName: string;
@Expose() lastName: string;
}
const fromPlainUser = {
unkownProp: 'hello there',
firstName: 'Umed',
lastName: 'Khudoiberdiev',
}
console.log(plainToClass(User, fromPlainUser, { excludeExtraneousValues: true }))
// User {
// id: undefined,
// firstName: 'Umed',
// lastName: 'Khudoiberdiev'
// }
将exposeUnsetFields添加到选项纯对象中。应为:
plainToClass(User, fromPlainUser, { excludeExtraneousValues: true, exposeUnsetFields: false, })
如果您创建了一个类实例,那么您将拥有它的属性。如果您想要一个没有未定义属性的对象,只需使用避免未定义字段的规则将类实例转换回普通对象即可。它将不再是一个类实例,但它将是一个没有未定义字段的对象。