由于缺少接口定义,AngularJS TypeScript编译器错误

时间:2018-11-05 04:50:41

标签: angular typescript

我是Angular的新手,所以请多多包涵。

我收到以下编译错误“     错误TS2339:类型“对象”上不存在属性“结果”。

无法编译的行如下(结果是数组)。

req = http.post(url, [{...}])
  .subscribe(
    res => {
    console.log(res);
    var resp = res.Results[0].results.map(x => {
    return {id: x.ID, severity: x.CVSS, cve_link: x.link };
    } );

从我的阅读中,我需要为Results声明和接口定义,但是我不确定如何声明它。有人可以澄清一下吗?

1 个答案:

答案 0 :(得分:0)

您可以使用以下接口来声明期望响应的形状:

String.prototype.init = function (){
  return this.slice(0, 1).toUpperCase()
}
h = "hello"
console.log(h.init())

然后您可以使用以下语法告诉编译器您对interface MyResponse { Results: { results: { ID: string, CVSS: string, link: string, }[] }[] } 的期望:

.post

Angular documentation中对此有所说明。