我得到的错误:
core.js:6260错误错误:找不到类型为'object'的其他支持对象'[object Object]'。 NgFor仅支持绑定到Iterables,例如数组。
在NgForOf.ngDoCheck(common.js:4406)在callHook(core.js:4762)在callHooks(core.js:4722)在executeCheckHooks(core.js:4642)在refreshView(core.js:11979)在refreshComponent(core.js:13449)在refreshChildComponents(core.js:11689)在refreshView(core.js:12024)在refreshComponent(core.js:13449)在refreshChildComponents(core.js:11689)
如果我有多个对象,下面的代码将起作用。当数据如下所示时,据我了解,数组或对象出了点问题,但我无法弄清楚。因此,当我有2个对象时,我会在下拉列表中获取数据,但是当我有2个对象时,会出现上述错误。
[
{..},
{..}
]
我的数据看起来像这样:
{
"details_id": 218,
"master_code": 218,
"MstCode": null,
"start_date": "2020-02-29T00:00:00",
"end_date": "2020-02-29T00:00:00",
"canceled": "False ",
"data_archived": null,
"last_updated_on": "2020-02-28 11:37:08",
"last_updated_by": null
}
我的http获取请求代码如下:
this.http.get(this.apiBaseUrl+"ProgramDets/"+id).toPromise().then(res => this.Details = res as TrDetails);
我的型号代码:
export class TrDetails {
details_id: number;
master_code: number;
MstCode: number;
start_date: Date;
end_date: Date;
canceled: string;
data_archived: string;
last_updated_on: Date;
last_updated_by: string;
}
我的服务代码:
apiBaseUrl = "http://localhost:2676/api/";
Details : TrainingDetails;
GetDetails(id){
this.http.get(this.apiBaseUrl+"ProgramDets/"+id).toPromise().then(res =>
this.Details = res as TrDetails);
}
我的下拉代码:
<option *ngFor="let data of service.Details" [value]="data.start_date">{{data.program_start_date}}</option>
我认为您需要的是这个:
GetDetails(id){
this.http.get(this.apiBaseUrl+"ProgramDets/"+id).toPromise().then(res =>
this.Details = res.json() as TrDetails);
}
[service.Details
应该是一个用于* ngFor的数组,似乎service.Details
的值在这里是一个对象,因此会出现错误。