我正在尝试在我的网络应用程序上显示从 Firebase 数据库检索的文档(对象)。我正在使用的对象具有以下接口/类型
export interface seasonResultsObject {
sport: string;
country: string;
league: string;
season: string;
results: result[];
}
我只想显示结果数组——它本身就是一个对象数组。我不想显示所有其他键值对。有鉴于此,我构建了以下模板:
<div class="container">
<app-workspace-nav></app-workspace-nav>
<div *ngFor="let key of seasonDocument | keyvalue">
<div *ngIf="key.key === 'results'">
<!-- {{key.value}} -->
<div *ngFor="let result of key.value">
{{ result }}
</div>
</div>
</div>
</div>
逻辑如下:遍历文档中的所有键值对,如果找到结果键,则显示(仅)该键值对的值 - 该行现在被注释掉了,但它完美无缺在页面上显示对象列表如下:
[object Object],[object Object],[object Object],[object Object],[object Object]
问题是这段代码:
<div *ngFor="let result of key.value">
{{ result }}
</div>
逻辑上应该通过 key.value
进行交互,result
是类型为 error TS2322: Type 'string | result[]' is not assignable to type 'NgIterable<result> | null | undefined'.
6 <div *ngFor="let result of key.value">
的对象的数组/列表,但我收到以下错误:
export interface result {
[key: string]: any;
Div: string;
Date: number;
}
作为参考,结果对象如下所示:
toPromise()
关于我做错了什么以及如何修复它,我希望能有一些想法。提前致谢。
答案 0 :(得分:0)
我解决了以下问题:
onPressed: () => press(),
但仍然不知道为什么我在原始问题上有错误 - 从逻辑上讲它应该有效......也许有人仍然可以给我指导。