我的项目使用Angular 5和Typescript。 我对模型有很多领域有疑问。提交表单时,我无法拥有模型的所有字段。模型的某些字段已丢失。我不知道为什么。有没有人知道我的代码有什么问题或告诉我一些建议?
这是我的代码:
HTML:
<div class="wrapper">
<div class="row">
<label class="bold">Name</lable>
<input type="text" pInputText [(ngModel)]="model.name" />
</div>
<div class="row">
<label class="bold">Email</lable>
<input type="text" pInputText [(ngModel)]="model.email" />
</div>
<!-- Many other fields -->
</div>
<button pButton type="button" (click)="onSave()" class="bg-blue-light btn-medium" label="Save"></button>
型号:
export class CustomerModel {
name: string;
email: string;
// Many other fields: over 100 fields
}
组件:
// Init new model
public model: CustomerModel = new CustomerModel();
// Handle save event
public onSave() {
let fields = Object.getOwnPropertyNames(this.model);
// let fields = Object.keys(this.model);
console.log(fields);
}
我已经用chrome调试过,我看到模型没有足够的字段,所以getOwnPropertyNames()和keys()函数都没有正确的结果。我想该模型有很多领域是有问题的,因为我可以从模型有一些领域获得成功。
答案 0 :(得分:0)
Object.getOwnPropertyNames(this.model)
;
或Object.keys(this.model)
;只会为您提供设置了values
的属性。
因此,您将在列表中看不到尚未初始化的properties
。
选中here