angular - 在 Angular 8 中初始化嵌套对象的有效方法

标签 angular

我有一个带有嵌套Address 类的User 类。在组件中,我想用 let user = new User()let user:User 之类的东西初始化 User 类型的对象。

但是会抛出错误,因为 Angular/Typescript 希望我分配值。有没有一种有效的方法可以做到这一点,而不将所有空 "" 值分配给对象。

在类下面:

class Address {
    constructor(
        public street: string,
        public number: number,
        public suffix: string,
        public houseLetter: string,
        public city: string,
        public zipcode: string,
    ) { }
}

export class User {
    constructor(
        public id: number,
        public firstName: string,
        public lastName: string,
        public email: string,
        public address: Address,
    ) { }
}

最佳答案

您可以将这些参数标记为可选,如下所示:

export class User {
    constructor(
        public id?: number,
        public firstName?: string,
        public lastName?: string,
        public email?: string,
        public address?: Address,
    ) { }
}

现在您可以轻松地实例化用户对象 让 user = new User()

Working demo link

关于angular - 在 Angular 8 中初始化嵌套对象的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59104099/

相关文章:

css - 15949 处的无效字体值警告 :4. 忽略:Angular4 产品构建

angular - 如何在 Ionic 5 中获得 canGoBack 功能?

具有 2 列和行对齐的 Angular ngFor

Angular Material 2 卡片可滚动

javascript - 回调在 Angular2/Firebase 中生成 "TypeError: this is undefined"

Angular 5 FormArray

angular - 即使 OnPush 策略开启,什么事件也会触发变更检测?

javascript - 有没有办法为 Jasmine 单元测试(Angular 4)提供基类?

javascript - 在 Angular 中,一个组件如何拥有多个 HTML 模板?

angular - 在提示警报 ionic-2 中选择时间