繁体   English   中英

Angular HTTP-订阅提供了未解析的变量

[英]Angular HTTP - Subscribe gives unresolved variable

我有一个带有下一个方法的APIService类:

  public getRecipeIndex() : Observable<Recipe[]>
  {
    return this.http.get<Recipe[]>(this.serverURL+'recipes');
  }

我在组件中调用此方法

  ngOnInit() {
    this.api.getRecipeIndex()
        .subscribe(
            resp => this.recipes = resp.data
        );
  }

并且我在resp.data' - unresolved variable dataresp.data' - unresolved variable data

所有API响应均具有“数据”属性。 API的基本响应结构是'data' => [...] 我怎么解决这个问题? 我希望我可以创建一些基本类型来注释所有API调用。

试试这个

 ngOnInit() {
        this.api.getRecipeIndex()
            .subscribe(resp=>{    
               this.recipes = resp;
               });
            }

我创建了一个单独的APIResponse来注释来自HTTP的响应数据,然后将数据映射到Recipe []。

  public getRecipeIndex() : Observable<Recipe[]>
  {
    return this.http.get<APIResponse>(this.serverURL+'recipes')
        .pipe(
            map(response => response.data)
        );
  }

接口:

export interface APIResponse {
    data
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM