Я работаю над угловым 2 приложением, в моем текущем проекте я получаю данные из своего API, и это дает JSON, как показано ниже.Невозможно найти отличающийся поддерживающий объект 'object object' 'type' object '
{
"makes": null,
"models": null,
"trims": null,
"years": null,
"assetTypes": {
"2": "Auto",
"3": "Motorcycle"
}
}
Далее я уверен, преобразование данных в формате JSON для машинописи с помощью json2ts инструмента по этой ссылке 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);
Но когда я использую lookupdetailsassettypeinfo в своем component.html, как это показано ниже. он всегда дает исключение, такое как Не удается найти отличающийся поддерживающий объект «Объект объекта» типа «объект». NgFor поддерживает только привязку к Iterables, например массивы.
<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
Если вы измените '.subscribe (lookupdetailsinfo => this.lookupdetailsassettypeinfo = lookupdetailsinfo,' 'в .subscribe (lookupdetailsinfo => {this.lookupdetailsassettypeinfo = lookupdetailsinfo; console.log (this.lookupdetailsassettypeinfo) ;}, что он печатает? –
'lookupdetailsassettypeinfo: RootObject;' уже указывает, что он не должен быть массивом. –
Я пробую эту строку кода lookupdetailsassettypeinfo: RootObject [], но он не работает – pradeep