【问题标题】:Angular Get from API succeeds but values are undefined来自 API 的 Angular Get 成功但值未定义
【发布时间】:2022-11-20 19:22:38
【问题描述】:

使用 Angular,我试图从 API 获取数据。 GET 请求似乎是成功的,因为当我在控制台视图中显示 GET 结果时,我可以看到我得到了一个大小正确且值正确的数组。问题是,当我尝试从数组元素读取单个数据时,它是未定义的。

export class Achat {
    constructor(
      public IDAchat_PK: number,
      public Date: Date,
      public Fournisseur: string,
      public FraisLivraison: string,
      public status: number
    ) {}
  }
export class DbService {

  /* Back end URL */
  public Back_End_Url = "https://localhost:7198/pokegong/";

  constructor(private httpClient: HttpClient) { }

  public GetAchats(): Observable<Achat> {
    return this.httpClient.get<Achat>(this.Back_End_Url + "Achat");
  }
}
export class StockComponent implements OnInit {
  
  achats: Achat[] = [];

  constructor(private dbService: DbService) { 
  }

  ngOnInit(): void {
    console.log("app-stock is initializing");
    this.GetAchats();
  }

  GetAchats() {
    /* Get stock items from Back End and fill _stock_items*/
    return this.dbService.GetAchats().subscribe((data: {}) => {
      this.achats = data;
      console.log(this.achats[3])
      console.log(this.achats[3].Fournisseur)
    });
  } 
}

执行 console.log(this.achats[3]) 后,我可以在控制台中看到文本 {idAchat_PK: 4, date: '2022-10-05T00:00:00', fournisseur: 'VISTAPRINT', frais Livraison: 6.19, status: 2}

但是,在执行 console.log(this.achats[3].Fournisseur) 时,我得到了“未定义”值。

我所有的解决方法都不成功。我真的不明白我怎么能够读取完整的 JSON 记录,而不是该记录中的单个元素。

非常感谢您的帮助。

【问题讨论】:

    标签: angular


    【解决方案1】:

    控制台日志显示小写fournisseur 键。在你的课堂上,你使用一个变量大写“F” (F我们的)。所以这个值不能正确转换。

    我认为 console.log(this.achats[3].fournisseur) 也可以。

    你也可以映射结果,就像const convertedResult = this.achats.map((data) =&gt; {return new Achat(.....);})

    问候,弗洛

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      相关资源
      最近更新 更多