web-dev-qa-db-ja.com

Angularの観測値のパイプ/マッピング方法

ネストされたオブジェクトは[オブジェクトオブジェクト]として表示されているので、パイプとマップを介してキャストしようとしていますが、どこにも取得されません。私はモデルをクラスやインタフェースとして試しましたが、助けを得ませんでした。誰かが私が間違っていることを私に言うことができますか?ありがとう。

関数:

_  getClients(customerId: number): Observable<Client[]> {
    let clientUrl = 'SOME_URL';
    return this.http.get<Client[]>(clientUrl)
      .pipe(map(client: Client) => client.address as Address);
  }
_

モデル:

_import { Address } from './address.model';

export class Client{
  id: number;
  name: string;
  accountNumber: string;
  addressId: number;
  phoneNumber: string;
  address: Address;
}


export class Address{
  id: number;
  name: string;
  addressLine1: string;
  addressLine2: string;
  city: string;
  postalCode: string;
}
_

エラーが発生しています。エラーTS2345(TS) 'address'の引数 'operatorfunction <{}、client []>'の型のパラメータには割り当てられません。

11
Tong

問題はこちらです。

getClients(customerId: number): Observable<Client[]> {
 _

監視可能な(クライアントの配列)の形式で戻る機能を要求しましたが、実際にはアドレスを観察可能にしています。

.pipe(map(client: Client) => client.address as Address);
 _

そのため、このエラーがこのエラーを投げている理由です。交換 Observable<Client[]>Observable<Address[]> _

0
Akshay Rajput