我正在對 API 進行 get 調用并返回對象列表。然后,我將該數據分配給 DataService 中的屬性,以便可以跨組件使用它。這是我的組件中調用服務的代碼: getAvailableParameters() { this.verificationService.getAvailableParameters(this.itemNumbers).subscribe((res => { this.dataService.availableParameters = res; }))}這是對API的調用 getAvailableParameters(itemNumbers: string[]){ return this.http.get<BaseResponse<IavailableParameters[]>>(`${this.baseUrl}api/verification/${itemNumbers}`) }以下是 DataService 中應在調用 getAvailableParameters 后存儲對象的屬性:export class DataService { public orderInfo: Iorder; public availableParameters: IavailableParameters[];}正如您所看到的,從 API 返回的對象也包裝在 BaseResponse 對象中(我認為這是問題所在,但不知道如何解決),定義如下:import { Error } from './Error'export interface BaseResponse<T> { isSuccessful: boolean, error: Error; results: T;}這就是我收到的確切錯誤: ERROR in src/app/Components/verification-reply/verification-reply.component.ts(28,7): error TS2740: Type 'BaseResponse<IavailableParameters[]>' is missing the following properties from type 'IavailableParameters[]': length, pop, push, concat, and 26 more.當我刪除基本響應類型時,它工作正常,因為我假設它沒有將其注冊為數組或其他東西。當我返回的對象不是數組時,這種與數據服務對象的綁定方法工作正常。我在這個主題上缺乏經驗,可以使用一些幫助來解決這個錯誤。
類型“BaseResponse<IavailableParameters[]>”缺少類型
藍山帝景
2023-07-06 11:10:32