在Angular 2中,找不到类型为“leaveType”的不同支持对象“[object object]”。NgFor只支持绑定到数组之类的可重用文件

在Angular 2中,找不到类型为“leaveType”的不同支持对象“[object object]”。NgFor只支持绑定到数组之类的可重用文件,angular,typescript,Angular,Typescript,我搜索并探索了这个问题,得到了解决方案,但它们对我不起作用,我想在typescript的下拉选项中显示一个静态数据/列表,我使用的是对象类型的数组。但是当我这样做的时候,我得到了这个错误: 原始异常:找不到类型为“leaveType”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件 请指出我哪里做错了 我的代码是: team-component.ts team-component.html: 您的html中存在名称冲突 <select id="leaveT

我搜索并探索了这个问题,得到了解决方案,但它们对我不起作用,我想在typescript的下拉选项中显示一个静态数据/列表,我使用的是对象类型的数组。但是当我这样做的时候,我得到了这个错误:

原始异常:找不到类型为“leaveType”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件

请指出我哪里做错了

我的代码是:

team-component.ts

team-component.html:


您的html中存在名称冲突

  <select id="leaveType" class="form-control" name="leaveType" [(ngModel)]="leave.leaveType" required #leaveType="ngModel">

您的select将名称和id都设置为leaveType,可以在*ngFor中代替您的数组。

您需要将“leaveType”声明为数组。像这样-

.... private leaveType: any[] = []; public leave:any= { "employee": null, "from": null, "to": null,'leaveType':[] }; .... leaveType应声明为数组:

private leaveType:any[] = [];

你说得对@Suraj,我用过LeaveType,然后它就成功了。非常感谢你。 .... private leaveType: any[] = []; public leave:any= { "employee": null, "from": null, "to": null,'leaveType':[] }; ....
private leaveType:any[] = [];