我不断收到此错误:找不到“对象”类型的不同支持对象“[对象对象]”。 NgFor 只支持
Posted
技术标签:
【中文标题】我不断收到此错误:找不到“对象”类型的不同支持对象“[对象对象]”。 NgFor 只支持【英文标题】:I keep getting this ERROR: Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports 【发布时间】:2021-03-17 00:55:05 【问题描述】:我不断收到此错误,但我不知道该怎么办: 错误错误:找不到类型为“object”的不同支持对象“[object Object]”。 NgFor 只支持绑定到数组等Iterables
这是我的服务
recupererHistorique(idCitoyen:number): Observable<Historique[]>
let url = 'http://localhost/tpSyn/getHistoriqueCitoyen.php?idCitoyen=' + idCitoyen;
return this.http.get<Historique[]>(url);
这是组件
export class HistoriqueComponent implements OnInit
@Input() historiquee:Historique;
historique: Historique[];
selectionActive:boolean = true;
constructor(private serviceCovid: CovidTraceService)
ngOnInit(): void
surChangementCitoyen()
//this.historiquee = null;
surChangementHistorique(his: Historique)
this.serviceCovid.recupererHistorique(his.id).subscribe(histo => this.historique = histo);
还有 html
<section *ngIf="historiquee" >
<div >
<ol >
<li *ngFor='let hiss of historiquee'> hiss.date: hiss.description </li>
</ol>
</div>
</section>
在 HTML 中,如果我使用它,它可以工作,但它显示一行,我希望它显示所有其他行,这就是我想使用 *ngFor 的原因
<div>
<ol>
<h3>
<li> historiquee.date: historiquee.description </li>
</h3>
</ol>
</div>
【问题讨论】:
数组中没有任何内容。隐藏 ngFor 直到数据存在。 如何隐藏它? 你能console.log
并显示你的历史类型是什么。看起来它是一个date: 1, description: 2
类型的对象。应该是[ ... ]
当我 console.log 显示未定义
【参考方案1】:
ngFor 只能遍历一个数组,这意味着结果必须是一个数组!它不能是不可迭代的 undefined 或 null。
所以在使用 ngFor 时,您需要有一个空数组或填充数组。
确保您的服务通过控制台登录结果正确返回一个数组。
this.serviceCovid.recupererHistorique(his.id).subscribe(histo => console.log(histo));
如果您的服务可能返回 undefined,请将您的值与空数组进行比较。
historique: Historique[] = [];
【讨论】:
当我 console.log 它显示 [ ] @Aviad 尝试用空数组初始化值,看看能否解决问题 historique: Historique[ ] = [ ]; 你能发布返回值吗?您似乎正在尝试访问数组中的对象键。你确定你总是得到钥匙的日期和描述吗? 这是我要返回的数据 [ "id": "482", "dateInfec": null, "idCitoyen": "2952", "description": "en test", “日期”:“2020-11-01”,“id”:“483”,“dateInfec”:null,“idCitoyen”:“2952”,“描述”:“中性”,“日期”:“2020 -11-06" ] 尝试控制台记录下一件事并确保得到相同的结果:``` this.serviceCovid.recupererHistorique(his.id).subscribe(histo => this.historique = histo; console.log(this.historique)) ```;验证你的数组是否存储正确。【参考方案2】:好的,成功了 我有错误的 id 它是 his.idCitoyen 不是 his.id
surChangementHistorique(his: Historique)
this.serviceCovid.recupererHistorique(his.idCitoyen).subscribe(histo => this.historique = histo);
【讨论】:
【参考方案3】:ngFor
只支持Array
等Iterables,所以不能用于Object
。
【讨论】:
以上是关于我不断收到此错误:找不到“对象”类型的不同支持对象“[对象对象]”。 NgFor 只支持的主要内容,如果未能解决你的问题,请参考以下文章
rxjs 将 5 升级到 6。找不到“对象”类型的不同支持对象“”
错误:找不到类型为“object - Angular 7”的不同支持对象“[object Object]”[重复]
找不到'number'类型的不同支持对象'33 .265625'