当前位置: 首页 > 知识库问答 >
问题:

Typescript Angular:如果未定义(未使用),则默认将所有类成员设置为Null

柯耀
2023-03-14

有没有一种简单的方法可以将TypeScript类中的所有值设置为null,而无需像这样重复手动复制和粘贴。要遵循干燥原则(不要重复自己)。如果没有定义,我希望所有的值都自动设置为空。

export class PropertySitusAddress {

    primaryPropertyMailingAddressId?:number = null;
    propertyId?:number = null;
    propertySitusAddressId?:number = null;
    addressFormatId?:number = null;
    apn?: string = null;
    owner?: string  = null;
    situsAddress?:string = null;
    primaryMailingAddress?:string = null;   
    streetNumber?: string = null;
    situsFromNumber?: string = null;
    situsThroughNumber?: string = null;
    fractional?: string = null;
    predirectional?: string = null;

共有2个答案

元叶秋
2023-03-14

首先,你的输入是错误的并不意味着该值可以是null它意味着它可以是未定义的

对于你的问题,考虑一下JavaScript输出,你实际上希望所有的字段都设置为空,所以没有办法分配它。然而,你可以速记作业,很难我不确定它会少打字:

export class PropertySitusAddress {
    primaryPropertyMailingAddressId?: number | null;
    propertyId?: number | null;
    propertySitusAddressId?: number | null;
    addressFormatId?: number | null;
    apn?: string | null;
    owner?: string | null;
    situsAddress?: string | null;
    primaryMailingAddress?: string | null;
    streetNumber?: string | null;
    situsFromNumber?: string | null;
    situsThroughNumber?: string | null;
    fractional?: string | null;
    predirectional?: string | null;

    constructor() {
        this.primaryPropertyMailingAddressId =
            this.propertyId =
            this.propertySitusAddressId =
            this.addressFormatId =
            this.apn =
            this.owner =
            this.situsAddress =
            this.primaryMailingAddress =
            this.streetNumber =
            this.situsFromNumber =
            this.situsThroughNumber =
            this.fractional =
            this.predirectional = null;
    }
}

我想最好的建议是使用具有多光标功能的编辑器(例如vscode)

诸葛康胜
2023-03-14

如果您将使用PropertySitusAddress作为接口,则属性不能有默认值。请参考此问题了解其他解决方法。

如果将它们设置为可选,那么无论如何,这些属性将具有未定义的默认值。

如果这些属性未在接口中使用,则您可以按照@DoronG的方式实现它,也可以这样做:-

primaryPropertyMailingAddressId: number | null = null;
 类似资料:
  • 问题内容: 我有一个模板绑定,使用Angular的日期过滤器显示名为“ date”的模型属性,该属性是一个日期。 到目前为止,一切都很好。但是,目前,如果日期字段中没有值,则绑定不显示任何内容。但是,如果没有日期,我希望显示字符串“ Various”。 我可以使用二进制运算符获取基本逻辑: 但是我无法使其与日期过滤器一起使用: 如何在日期过滤器旁边使用二元运算符? 问题答案: 原来我要做的就是将表

  • 我在使用discord。js的机器人制作,我一直得到这个错误,当我试图使一个音乐机器人??我不知道如何定义会员。它甚至不会加入频道或播放音乐,唯一有效的功能是告诉机器人需要一个链接才能继续

  • 使用axios,我尝试为所有请求设置默认标头身份验证令牌。但默认情况下它没有被发现,并且对于任何其他api调用,“授权”没有在标头中设置。 这是一个常用文件 登录后,我像这样设置标题 但是当我调用任何其他API标头进行授权时,CountryApi.js所在的位置没有设置 Country.js是这个

  • 问题内容: 我正在尝试使用自定义类加载器进行练习,并且有一些问题。有没有一种方法可以指示JVM在全球范围内使用我的自定义类加载器?例如,我写了一个在Tomcat 6下运行的小型应用程序。该servlet由容器管理,应在哪里设置类加载器?另外,Web应用程序使用了一些3rd party jars,我可以控制这些jars的类加载吗? 对于独立应用程序,以上答案是否会有所不同? 谢谢! 问题答案: 您可

  • 我正在使用Spring启动来恢复网络服务,我有很多DTO和模型对象。 做post请求时,前端用户正在发送一个DTO类型的对象。Dto大多具有Model对象的类似成员。我正在检查DTO对象中每个成员的空约束,如果没有,则将值设置为MODEL对象的类似属性。 我在下面简要定义了我的案例, 和pojo 我每次都这样检查,现在我只想知道有没有一致的方法可以做到这一点 我已经看过这个链接了什么是知道类中所有

  • 不确定之前是否有人遇到过类似的问题。当我创建一个远程配置参数并将其选择为不带条件值的布尔值时。在我的iOS项目中,firebase可以正确读取它。然而,当我开始使用条件语句时,它会检查用户是否在特定位置,例如下图中的英国。 设置此参数时,我执行了以下操作: 每次我访问“test_country”参数时,它都显示默认值false,而不是预期的“true”。我查看了关于堆栈溢出和设置的不同问题 co