我试图在我的web应用程序上显示从firebase db检索的文档(对象)。我正在使用的对象具有以下接口/类型
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;
}
我很想知道我做错了什么,以及如何改正。先谢谢你。
1条答案
按热度按时间rur96b6h1#
我解决问题的方式如下:
但我仍然不知道为什么我在最初的问题上会有错误——从逻辑上讲,它应该是有效的。。。也许还有人可以给我一些指导。