我的打字稿类定义为:
export class MyModel {
ID: number;
TYPE_ID: number;
RECOMMENDED_HOURS: number;
UNASSIGNED_HOURS: number;
}
在另一个.ts文件中,我在组件中创建一个实例:
export class MyComponent implements OnInit {
newModel: MyModel;
ngOnInit() {
this.newModel= new MyModel();
this.newModel.RECOMMENDED_HOURS = 35;
this.newModel.UNASSIGNED_HOURS = 28;
debugger;
}
设置小时后检查this.newModel时,看不到ID
或TYPE_ID
属性,chrome调试器仅显示已设置的HOURS属性。无论是否设置它们,是否都能看到它们?
答案 0 :(得分:2)
您必须手动将其实例化为undefined。
这可以用looking at the compiled code来解释:在TS中实例化一个变量使其在JS中实例化,无论其值如何。由于未设置变量的值为undefined
,因此只需将其实例化为undefined即可。
class X {
prop1: string;
}
class Y {
prop1: string = undefined;
}
答案 1 :(得分:2)
在ts类中使用构造函数:
export class MyModel {
ID: number;
TYPE_ID: number;
RECOMMENDED_HOURS: number;
UNASSIGNED_HOURS: number;
constructor() {
this.ID = 0; // or whatever you want, null, undefined...
this.TYPE_ID = 0; // same as above...
}
}
希望这会有所帮助!