关于es6的打字稿。我做了什么,拜托?

时间:2016-09-15 03:29:11

标签: angular typescript

我收到了这个错误:

  

[0] app / components / pessoas / detail / PessoaDetailComponent.ts(27,35):错误TS2339:Property' pessoa'类型' {}'。

上不存在

代码:

   export class PessoaDetailComponent
   {
    pessoa: any;

    constructor(private _api: Api, private _params: RouteParams)
    {
        this._api.getPessoa(_params.get("id")).then(
            (res) => {
     //line 27//     this.pessoa = res.pessoa;
            },
            (error) => {
                console.error(error);
            }
         )
      }
   }

2 个答案:

答案 0 :(得分:0)

您正在尝试在构造函数内的promise上链接方法。不要这样做。由于承诺,您的this实例变得混乱。

constructor(private _api: Api, private _params: RouteParams)
{
    this.pessoa = this._api.getPessoa(_params.get("id"));
}
//anywhere you need to use the pessoa property use this.pessoa.then()

答案 1 :(得分:0)

这是与类型相关的问题。无论出于何种原因,打字稿认为res属于{}类型,因此抱怨pessoa类型上不存在

使用

(res: any) => {
  this.pessoa = res.pessoa;
},
如果你知道的话,请使用适当的类型。