簡體   English   中英

角度6,請求httpClient(類型錯誤)

[英]Angular 6, request httpClient (type errors)

我的服務有誤。 我正在嘗試獲取媒體列表(該列表由NodeJS創建,並啟動所有媒體的JSON)。 我可以恢復它,但是在類型'Media []'上不存在“屬性'medias'錯誤”。

這是我的服務

getMedias(): Observable<Media[]> {
    return this.http
      .get<Media[]>('http://localhost:3000/api/media')
      .map(mediasFetched => mediasFetched.medias);    <strong><!> L'erreur est juste ici <!></strong>
  }

我獲取媒體的組件:

this.mediaService.getMedias().subscribe(mediasFetched => {
      this.medias = mediasFetched;
      this.isLoading = false;
    });

如果不將“ .medias”添加到“ mediasFetched”,則只會得到一個包含表的對象。 我必須經過此屬性才能獲取表,這就是我的錯誤所在。

我必須通過此屬性才能在html中使用ngFor瀏覽它。

如果我錯過了一件大事,請提前打擾一下,但是我從Angular開始:p

謝謝

在您的模型中,嘗試添加以下媒體:any []

export interface Media { 
   medias: any[]
}

我用<{medias:Media []}>解決了我的問題,刪除了可觀察對象並添加了對我的服務的訂閱。

服務:

getMedias() {

    this.http
      .get<{ medias: Media[] }>(`${this.apiUrl}media`)
      .subscribe(mediasData => {
        this.medias = mediasData.medias;
        this.mediasUpdated.next([...this.medias]);
      });
  }

component.ts:

this.mediaService.getMedias();

@yer謝謝您的選擇

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM