【发布时间】:2017-12-27 08:22:24
【问题描述】:
我是 typescript 中的一只新蜜蜂,在我的 angular4 项目中,我收到了一个 json 格式的地图对象。
所以我声明了一个下面给出的类
<importing... required classes here..>
export class FormConfig {
public id: number;
public name: string;
public fieldMap :Map<string,Array<Field>>;
public fieldList : Array<Field> ;
}
我从 api 接收到完全相同的 JSON。我安慰了 FormConfig 的对象,我得到了没有任何错误的控制台。我的代码在没有任何警告和错误的情况下编译。但我无法通过使用 Map 的内置函数(如 forEach、keys、get 等)访问地图中的键和值。但 IDE 显示了这些函数建议。下面给出了我的部分代码。
formConfig : FormConfig;
console.log(JSON.stringify(formConfig)); // works fine
keys : string [] = Array.from (formConfig.keys()) ; // showing error (formConfig.keys is not a function)
我在 angular4 项目中使用 es5 目标,IDE 是 Visual Studio 代码。
在让我知道我在这里犯的错误之前,有没有人遇到过这个问题。
谢谢。
【问题讨论】:
-
我觉得你用
keys的方式不对Object.keys(obj), obj 要返回可枚举的自身属性的对象。 -
我试过 foreach ,还是不行
-
你试过
keys : string [] = Object.keys(formConfig)吗? -
是的,您的代码有效。非常感谢,我也想得到价值
-
打字稿是否支持地图?
标签: angular dictionary typescript es5-shim