无法访问Angular 4中从Observable返回的对象的属性

时间:2017-10-20 11:02:25

标签: angular rxjs

我有一个定义我的数据对象的接口,如下所示:

  export interface Iemployee  {
    fileName: string;
    empData: IempData }
      export interface IempData {
    data: string;
  }

我试图使用observables检索json对象。我可以成功加载对象但无法访问任何属性。我可以在控制台中看到对象日志,但是当我尝试记录属性时,我看到未定义的错误。我也可以在调试窗口的运行时访问属性,但无法分配给变量。请帮助。以下是我的服务和组件代码。

服务代码:

downloadFile(): Observable<Iemployee > {       
    return this._http.get<Iemployee >(this._url)
        .map(response => {                
         return response as Iemployee;
        })
        .catch(this.handleError);
}

组件代码:

downLoadFile() {

    this._employeeService.downloadFile().subscribe(response => {       
       this.empData = response;
       console.log(response );// object logged successfully
       console.log(response.fileName); // undefined but can see it during debugging with a watch
       console.log(this.empData ); //can log 
       console.log(this.empData .fileName);// undefined

    }, Error => {
      console.log(Error);
    });
  }

0 个答案:

没有答案