所以我试图订阅一个从本地 JSON 文件返回数据的简单服务。
我已经设法使服务正常工作,我可以在函数中将其注销,但是当我在 angular 2 组件中订阅该服务时,它始终未定义。我不知道为什么?任何帮助将非常感激。
接口服务
export class ApiService {
   public data: any;
   constructor(private _http: Http) {
   }
   getData(): any {
       return this._http.get('api.json').map((response: Response) => { 
       console.log('in response', response.json()); //This logs the Object
       this.data = response.json();
       return this.data;
   })
   .catch(this.handleError);
   }
}
零件
export class AppComponent {
   public data: any
   public informationData;
   constructor(private _api: ApiService) {}
   public ngOnInit(): void {
      console.log(this.getDataFromService()); // This return undefined
   }
   public getDataFromService() {
      this._api.getData().subscribe(response => {
          this.informationData = response;
          return this.informationData;
      });
   }
}



