将默认值分配给使用Angular中的接口定义的对象的属性

时间:2017-06-25 03:11:17

标签: angular typescript angular-components

我正在开发一个Angular应用程序,我在Typescript中使用interfaces定义了一些大型自定义表单对象类型。属性类型主要是stringnumber
我使用这些对象使用ngModel填充表单,因此我需要在组件端为此对象的属性分配默认值(否则,它会给出错误,说明对象为undefined)。
我的问题是什么是为这些对象的属性分配默认值的首选或好方法。我知道以下方法:

  • 使用界面定义对象的形状,并在组件侧指定默认值(目前,我正在关注此项。)
  • 使用Class定义对象并在构造函数中指定默认值。通过这种方式,您不必担心在组件上分配默认值。我认为这是编写组件代码的一种更简洁的方法。不确定,因为这是首选方式。

让我知道,当使用class对象时,首选使用ngModel定义复杂对象(具有嵌套属性)的方法。此外,如果还有其他方法可以解决这个问题。

1 个答案:

答案 0 :(得分:2)

我的服务中有这样的方法:

initializeProduct(): IProduct {
    return {
        id: 0,
        productName: null,
        productCode: null,
        tags: [''],
        releaseDate: null,
        price: null,
        description: null,
        starRating: null,
        imageUrl: null
    };
}