我让这个JSON响应从Firebase返回
{ "-KD8Evk7TULU6t6zxMHl": { "createdAt": 1458296568840, "isActive": true, "title": "...add a title", "updatedAt": 1458296568840 } }问题的第1部分:我应该如何为上面的JSON构建类型记录接口?例如,像下面这样?
export interface Hero {
[id: string]: {
createdAt: number;
isActive: boolean;
title: string;
updatedAt: number;
}
}问题的第2部分:如何使用推荐的类型记录接口结构获得英雄的标题或id?例如,我想显示英雄id和英雄标题。
<html>
...omitted code for simplicity. I want to display hero id and title below.
<h1> {{ hero.id }} </h1>
<h1> {{ hero.title }} </h1>
</html>发布于 2016-03-19 08:33:20
您可以使用这种方法,也可以构建一个具有另一个属性"keyId“的类,该属性将存储从firebase响应对象("-KD8Evk7TULU6t6zxMHl")接收的ID。在构造函数中,您应该用接收到的id填充keyId支柱。但是,它稍微复杂一些,需要为每个json行创建一个新类。
如果坚持使用选项1,则必须使用" object“类从对象中读取-->英雄[Object.keys(英雄)].title或只使用Object.keys(英雄)(如果需要id )。这有点烦人,但我看不出另一种方式,除非像我前面提到的那样,将接口更改为带有构造函数的类,您可以使用类似于herohero.keyId.title或hero.keyId的id ;)
https://stackoverflow.com/questions/36097208
复制相似问题