一个嵌套对象以[object Object]的形式显示,因此我正在尝试通过管道和映射进行转换,但我没有取得任何进展。 我已尝试将模型作为类和接口,但没有帮助。 有人可以告诉我我做错了什么吗? 谢谢。
该函数:
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;
}
我遇到了错误: Error TS2345 (TS) Argument of type 'Address' is not assignable to parameter of type 'OperatorFunction<{}, Client[]>'。
我遇到了一个错误:Error TS2345(TS)类型为“Address”的参数无法分配给类型为“OperatorFunction<{},Client[]>”的参数。
Observable<Client[]>
时,为什么要返回Observable<Address>
? - Ashish RanjangetClients(customerId: number): Observable<Address> {}
,如果它只返回地址而不是完整客户端,则可能还要更改方法名称。 - Ashish Ranjan