Angular 2初始化变量类型属性

时间:2018-12-11 22:23:05

标签: javascript angular typescript

我有一个带有多个属性的模型,我想用默认值null或null初始化所有属性。

我的模特:

export class MyModel {
    name: string;
    jerseyNumber: number;
    etc...
}

组件:

public myObject: MyModel = new MyModel();

如果我在初始化时使用console.log myForm,它将记录MyForm {}

但是我想要的是对myForm中的每个属性使用一些默认值进行初始化,而不是作为一个空对象,我知道我可以手动执行此操作,例如:

myObject.name = null;
myObject.jerseyNumber = null;

但是我想知道是否有某种编程方式可以做到这一点,因为MyModel具有许多属性,手动初始化每个字段似乎效率很低。

是否可以初始化MyModel类型的变量的所有属性值?

非常感谢您

1 个答案:

答案 0 :(得分:0)

我的第一个想法是使用

Object.getOwnPropertyNames(myObject).forEach(prop => { myObject[prop] = null; })

但是,TS在编译的类中忽略了未初始化的属性。您需要初始化每个属性,例如:

name: string = null;