找不到不同的支持对象' [object Object]'类型'对象'

时间:2016-12-07 10:36:30

标签: arrays json angular typescript

我正在开发angular 2应用程序,在我当前的项目中,我从我的API获取数据,而它提供了如下的JSON。

{
    "makes": null,
    "models": null,
    "trims": null,
    "years": null,
    "assetTypes": {
        "2": "Auto",
        "3": "Motorcycle"
    }
}

接下来,我将使用此链接中的json2ts工具将JSON数据转换为typescript http://json2ts.com/

Typescript.ts

export interface AssetTypes {
    2: string;
    3: string;
}

export interface RootObject {
    makes?: any;
    models?: any;
    trims?: any;
    years?: any;
    assetTypes: AssetTypes;
}

然后,我将在 component.ts

中使用以下代码行
 lookupdetailsassettypeinfo: RootObject;
 this._vehicleInfoService.getLookupDetailsTableAssetTypeInfo()
        .subscribe(lookupdetailsinfo => this.lookupdetailsassettypeinfo = lookupdetailsinfo,
        error => this.error = <any>error);

但是当我在 component.html 中使用lookupdetailsassettypeinfo时,如下所示。它总是给出例外,例如找不到不同的支持对象&#39; [object Object]&#39;类型&#39;对象&#39;。 NgFor仅支持绑定到Iterables,例如Arrays。

<select id="ASSET_TYPE" class="col-md-12 form-control" >
    <option>Select One</option>
    <option *ngFor='let type of lookupdetailsassettypeinfo'>{{type.assetTypes.Customer}}</option>
</select> 

您能否告诉我如何解决上述异常。

-Pradeep

1 个答案:

答案 0 :(得分:0)

*ngFor不支持迭代对象属性。它只支持数组。

另见Access Typescript Object Variables in Angular2